From 6b11c940bb4d033dc1a1ff0092d151c7da60db4e Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Sat, 8 Jun 2024 01:21:41 +0200 Subject: [PATCH 01/59] Provide setup keys for two-factor authentication alongside QR codes (#7406) * Bump word-wrap from 1.2.3 to 1.2.4 Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4. - [Release notes](https://github.com/jonschlinkert/word-wrap/releases) - [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4) --- updated-dependencies: - dependency-name: word-wrap dependency-type: indirect ... Signed-off-by: dependabot[bot] * Bump pillow from 9.5.0 to 10.0.1 (#8) Bumps [pillow](https://github.com/python-pillow/Pillow) from 9.5.0 to 10.0.1. - [Release notes](https://github.com/python-pillow/Pillow/releases) - [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst) - [Commits](https://github.com/python-pillow/Pillow/compare/9.5.0...10.0.1) --- updated-dependencies: - dependency-name: pillow dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * added coveralls report * jsut do it * Revert "jsut do it" This reverts commit da27a34c885ec6292e0cac1133f873debaaaa49e. * fix reqs * Bump cryptography from 41.0.5 to 41.0.6 (#14) Bumps [cryptography](https://github.com/pyca/cryptography) from 41.0.5 to 41.0.6. - [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pyca/cryptography/compare/41.0.5...41.0.6) --- updated-dependencies: - dependency-name: cryptography dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump jinja2 from 3.1.2 to 3.1.3 (#17) Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.2 to 3.1.3. - [Release notes](https://github.com/pallets/jinja/releases) - [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst) - [Commits](https://github.com/pallets/jinja/compare/3.1.2...3.1.3) --- updated-dependencies: - dependency-name: jinja2 dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump vite from 4.4.11 to 4.5.2 in /src/frontend (#18) Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.4.11 to 4.5.2. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v4.5.2/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v4.5.2/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: direct:development ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump pillow from 10.1.0 to 10.2.0 (#19) Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.1.0 to 10.2.0. - [Release notes](https://github.com/python-pillow/Pillow/releases) - [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst) - [Commits](https://github.com/python-pillow/Pillow/compare/10.1.0...10.2.0) --- updated-dependencies: - dependency-name: pillow dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump cryptography from 41.0.6 to 42.0.0 (#20) Bumps [cryptography](https://github.com/pyca/cryptography) from 41.0.6 to 42.0.0. - [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pyca/cryptography/compare/41.0.6...42.0.0) --- updated-dependencies: - dependency-name: cryptography dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump django from 3.2.23 to 3.2.24 (#21) Bumps [django](https://github.com/django/django) from 3.2.23 to 3.2.24. - [Commits](https://github.com/django/django/compare/3.2.23...3.2.24) --- updated-dependencies: - dependency-name: django dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump cryptography from 42.0.0 to 42.0.2 (#22) Bumps [cryptography](https://github.com/pyca/cryptography) from 42.0.0 to 42.0.2. - [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pyca/cryptography/compare/42.0.0...42.0.2) --- updated-dependencies: - dependency-name: cryptography dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * [FR] Provide setup keys for two-factor authentication alongside QR codes Fixes #6132 * add margin --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Oliver --- src/backend/InvenTree/templates/allauth_2fa/setup.html | 1 + 1 file changed, 1 insertion(+) diff --git a/src/backend/InvenTree/templates/allauth_2fa/setup.html b/src/backend/InvenTree/templates/allauth_2fa/setup.html index 704757a374..c05b049f1f 100644 --- a/src/backend/InvenTree/templates/allauth_2fa/setup.html +++ b/src/backend/InvenTree/templates/allauth_2fa/setup.html @@ -17,6 +17,7 @@
{% trans 'QR Code' %}
+

{% trans 'Secret: ' %}{{ secret }}


From 8f3a8b0f7e8d00913e51a49ec8209f2203420ca4 Mon Sep 17 00:00:00 2001 From: Oliver Date: Sat, 8 Jun 2024 10:17:12 +1000 Subject: [PATCH 02/59] Panel placeholders (#7405) * PanelType.content is now required * Make panel content non-optional - Makes it easier to see which panels still need to be implemented * Implement a panel --- src/frontend/src/components/nav/PanelGroup.tsx | 5 ++--- .../src/pages/Index/Settings/SystemSettings.tsx | 10 +++++++--- .../src/pages/Index/Settings/UserSettings.tsx | 7 +++++-- src/frontend/src/pages/part/PartDetail.tsx | 13 +++++++++---- src/frontend/src/pages/sales/ReturnOrderDetail.tsx | 4 +++- src/frontend/src/pages/sales/SalesOrderDetail.tsx | 10 +++++++--- src/frontend/src/pages/stock/StockDetail.tsx | 5 ++++- 7 files changed, 37 insertions(+), 17 deletions(-) diff --git a/src/frontend/src/components/nav/PanelGroup.tsx b/src/frontend/src/components/nav/PanelGroup.tsx index c7e880a642..5c1671fb90 100644 --- a/src/frontend/src/components/nav/PanelGroup.tsx +++ b/src/frontend/src/components/nav/PanelGroup.tsx @@ -24,7 +24,6 @@ import { identifierString } from '../../functions/conversion'; import { navigateToLink } from '../../functions/navigation'; import { useLocalState } from '../../states/LocalState'; import { Boundary } from '../Boundary'; -import { PlaceholderPanel } from '../items/Placeholder'; import { StylishText } from '../items/StylishText'; /** @@ -34,7 +33,7 @@ export type PanelType = { name: string; label: string; icon?: ReactNode; - content?: ReactNode; + content: ReactNode; hidden?: boolean; disabled?: boolean; showHeadline?: boolean; @@ -190,7 +189,7 @@ function BasePanelGroup({ )} - {panel.content ?? } + {panel.content} diff --git a/src/frontend/src/pages/Index/Settings/SystemSettings.tsx b/src/frontend/src/pages/Index/Settings/SystemSettings.tsx index 53f2e18227..f787f77b99 100644 --- a/src/frontend/src/pages/Index/Settings/SystemSettings.tsx +++ b/src/frontend/src/pages/Index/Settings/SystemSettings.tsx @@ -19,6 +19,7 @@ import { } from '@tabler/icons-react'; import { useMemo } from 'react'; +import { PlaceholderPanel } from '../../../components/items/Placeholder'; import { PanelGroup, PanelType } from '../../../components/nav/PanelGroup'; import { SettingsHeader } from '../../../components/nav/SettingsHeader'; import { GlobalSettingList } from '../../../components/settings/SettingList'; @@ -98,7 +99,8 @@ export default function SystemSettings() { { name: 'notifications', label: t`Notifications`, - icon: + icon: , + content: }, { name: 'pricing', @@ -161,7 +163,8 @@ export default function SystemSettings() { { name: 'categories', label: t`Part Categories`, - icon: + icon: , + content: }, { name: 'parts', @@ -223,7 +226,8 @@ export default function SystemSettings() { { name: 'stocktake', label: t`Stocktake`, - icon: + icon: , + content: }, { name: 'buildorders', diff --git a/src/frontend/src/pages/Index/Settings/UserSettings.tsx b/src/frontend/src/pages/Index/Settings/UserSettings.tsx index e20f0489f1..f585000d5d 100644 --- a/src/frontend/src/pages/Index/Settings/UserSettings.tsx +++ b/src/frontend/src/pages/Index/Settings/UserSettings.tsx @@ -11,6 +11,7 @@ import { } from '@tabler/icons-react'; import { useMemo } from 'react'; +import { PlaceholderPanel } from '../../../components/items/Placeholder'; import { PanelGroup, PanelType } from '../../../components/nav/PanelGroup'; import { SettingsHeader } from '../../../components/nav/SettingsHeader'; import { UserSettingList } from '../../../components/settings/SettingList'; @@ -39,7 +40,8 @@ export default function UserSettings() { { name: 'dashboard', label: t`Dashboard`, - icon: + icon: , + content: }, { name: 'display', @@ -92,7 +94,8 @@ export default function UserSettings() { { name: 'notifications', label: t`Notifications`, - icon: + icon: , + content: }, { name: 'reporting', diff --git a/src/frontend/src/pages/part/PartDetail.tsx b/src/frontend/src/pages/part/PartDetail.tsx index 4cb71cf97c..08b330bde8 100644 --- a/src/frontend/src/pages/part/PartDetail.tsx +++ b/src/frontend/src/pages/part/PartDetail.tsx @@ -53,6 +53,7 @@ import { UnlinkBarcodeAction, ViewBarcodeAction } from '../../components/items/ActionDropdown'; +import { PlaceholderPanel } from '../../components/items/Placeholder'; import NavigationTree from '../../components/nav/NavigationTree'; import { PageDetail } from '../../components/nav/PageDetail'; import { PanelGroup, PanelType } from '../../components/nav/PanelGroup'; @@ -513,7 +514,8 @@ export default function PartDetail() { name: 'allocations', label: t`Allocations`, icon: , - hidden: !part.component && !part.salable + hidden: !part.component && !part.salable, + content: }, { name: 'bom', @@ -572,7 +574,8 @@ export default function PartDetail() { name: 'purchase_orders', label: t`Purchase Orders`, icon: , - hidden: !part.purchaseable + hidden: !part.purchaseable, + content: }, { name: 'sales_orders', @@ -584,12 +587,14 @@ export default function PartDetail() { { name: 'scheduling', label: t`Scheduling`, - icon: + icon: , + content: }, { name: 'stocktake', label: t`Stocktake`, - icon: + icon: , + content: }, { name: 'test_templates', diff --git a/src/frontend/src/pages/sales/ReturnOrderDetail.tsx b/src/frontend/src/pages/sales/ReturnOrderDetail.tsx index 830a864171..9dfc84e699 100644 --- a/src/frontend/src/pages/sales/ReturnOrderDetail.tsx +++ b/src/frontend/src/pages/sales/ReturnOrderDetail.tsx @@ -22,6 +22,7 @@ import { DuplicateItemAction, EditItemAction } from '../../components/items/ActionDropdown'; +import { PlaceholderPanel } from '../../components/items/Placeholder'; import { PageDetail } from '../../components/nav/PageDetail'; import { PanelGroup, PanelType } from '../../components/nav/PanelGroup'; import { StatusRenderer } from '../../components/render/StatusRenderer'; @@ -220,7 +221,8 @@ export default function ReturnOrderDetail() { { name: 'line-items', label: t`Line Items`, - icon: + icon: , + content: }, { name: 'attachments', diff --git a/src/frontend/src/pages/sales/SalesOrderDetail.tsx b/src/frontend/src/pages/sales/SalesOrderDetail.tsx index a7ba38cfa1..d342dc5e60 100644 --- a/src/frontend/src/pages/sales/SalesOrderDetail.tsx +++ b/src/frontend/src/pages/sales/SalesOrderDetail.tsx @@ -25,6 +25,7 @@ import { DuplicateItemAction, EditItemAction } from '../../components/items/ActionDropdown'; +import { PlaceholderPanel } from '../../components/items/Placeholder'; import { PageDetail } from '../../components/nav/PageDetail'; import { PanelGroup, PanelType } from '../../components/nav/PanelGroup'; import { StatusRenderer } from '../../components/render/StatusRenderer'; @@ -248,17 +249,20 @@ export default function SalesOrderDetail() { { name: 'line-items', label: t`Line Items`, - icon: + icon: , + content: }, { name: 'pending-shipments', label: t`Pending Shipments`, - icon: + icon: , + content: }, { name: 'completed-shipments', label: t`Completed Shipments`, - icon: + icon: , + content: }, { name: 'build-orders', diff --git a/src/frontend/src/pages/stock/StockDetail.tsx b/src/frontend/src/pages/stock/StockDetail.tsx index dd28ccd061..a2981bd295 100644 --- a/src/frontend/src/pages/stock/StockDetail.tsx +++ b/src/frontend/src/pages/stock/StockDetail.tsx @@ -32,6 +32,7 @@ import { UnlinkBarcodeAction, ViewBarcodeAction } from '../../components/items/ActionDropdown'; +import { PlaceholderPanel } from '../../components/items/Placeholder'; import NavigationTree from '../../components/nav/NavigationTree'; import { PageDetail } from '../../components/nav/PageDetail'; import { PanelGroup, PanelType } from '../../components/nav/PanelGroup'; @@ -283,7 +284,9 @@ export default function StockDetail() { label: t`Allocations`, icon: , hidden: - !stockitem?.part_detail?.salable && !stockitem?.part_detail?.component + !stockitem?.part_detail?.salable && + !stockitem?.part_detail?.component, + content: }, { name: 'testdata', From bae5dcdbdcaf63af0f7053298a7e19b9f7833308 Mon Sep 17 00:00:00 2001 From: Oliver Date: Sat, 8 Jun 2024 10:17:24 +1000 Subject: [PATCH 03/59] New Crowdin updates (#7394) * updated translation base * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .../InvenTree/locale/bg/LC_MESSAGES/django.po | 1895 ++++++------ .../InvenTree/locale/cs/LC_MESSAGES/django.po | 2755 +++++++++-------- .../InvenTree/locale/da/LC_MESSAGES/django.po | 1899 ++++++------ .../InvenTree/locale/de/LC_MESSAGES/django.po | 1907 ++++++------ .../InvenTree/locale/el/LC_MESSAGES/django.po | 1903 ++++++------ .../InvenTree/locale/en/LC_MESSAGES/django.po | 1520 ++++----- .../InvenTree/locale/es/LC_MESSAGES/django.po | 1895 ++++++------ .../locale/es_MX/LC_MESSAGES/django.po | 1520 ++++----- .../InvenTree/locale/fa/LC_MESSAGES/django.po | 1895 ++++++------ .../InvenTree/locale/fi/LC_MESSAGES/django.po | 1895 ++++++------ .../InvenTree/locale/fr/LC_MESSAGES/django.po | 1911 ++++++------ .../InvenTree/locale/he/LC_MESSAGES/django.po | 1895 ++++++------ .../InvenTree/locale/hi/LC_MESSAGES/django.po | 1895 ++++++------ .../InvenTree/locale/hu/LC_MESSAGES/django.po | 1910 ++++++------ .../InvenTree/locale/id/LC_MESSAGES/django.po | 1899 ++++++------ .../InvenTree/locale/it/LC_MESSAGES/django.po | 1907 ++++++------ .../InvenTree/locale/ja/LC_MESSAGES/django.po | 1901 ++++++------ .../InvenTree/locale/ko/LC_MESSAGES/django.po | 1895 ++++++------ .../InvenTree/locale/lv/LC_MESSAGES/django.po | 1895 ++++++------ .../InvenTree/locale/nl/LC_MESSAGES/django.po | 1907 ++++++------ .../InvenTree/locale/no/LC_MESSAGES/django.po | 1907 ++++++------ .../InvenTree/locale/pl/LC_MESSAGES/django.po | 1907 ++++++------ .../InvenTree/locale/pt/LC_MESSAGES/django.po | 1895 ++++++------ .../InvenTree/locale/ru/LC_MESSAGES/django.po | 1903 ++++++------ .../InvenTree/locale/sk/LC_MESSAGES/django.po | 1895 ++++++------ .../InvenTree/locale/sl/LC_MESSAGES/django.po | 1903 ++++++------ .../InvenTree/locale/sr/LC_MESSAGES/django.po | 1895 ++++++------ .../InvenTree/locale/sv/LC_MESSAGES/django.po | 1903 ++++++------ .../InvenTree/locale/th/LC_MESSAGES/django.po | 1895 ++++++------ .../InvenTree/locale/tr/LC_MESSAGES/django.po | 1903 ++++++------ .../InvenTree/locale/uk/LC_MESSAGES/django.po | 1895 ++++++------ .../InvenTree/locale/vi/LC_MESSAGES/django.po | 1907 ++++++------ .../InvenTree/locale/zh/LC_MESSAGES/django.po | 1895 ++++++------ .../locale/zh_Hans/LC_MESSAGES/django.po | 1532 ++++----- src/frontend/src/locales/bg/messages.po | 86 +- src/frontend/src/locales/cs/messages.po | 86 +- src/frontend/src/locales/da/messages.po | 86 +- src/frontend/src/locales/de/messages.po | 86 +- src/frontend/src/locales/el/messages.po | 86 +- src/frontend/src/locales/en/messages.po | 24 +- src/frontend/src/locales/es-mx/messages.po | 24 +- src/frontend/src/locales/es/messages.po | 335 +- src/frontend/src/locales/fa/messages.po | 86 +- src/frontend/src/locales/fi/messages.po | 86 +- src/frontend/src/locales/fr/messages.po | 148 +- src/frontend/src/locales/he/messages.po | 86 +- src/frontend/src/locales/hi/messages.po | 86 +- src/frontend/src/locales/hu/messages.po | 86 +- src/frontend/src/locales/id/messages.po | 314 +- src/frontend/src/locales/it/messages.po | 86 +- src/frontend/src/locales/ja/messages.po | 86 +- src/frontend/src/locales/ko/messages.po | 86 +- src/frontend/src/locales/lv/messages.po | 86 +- src/frontend/src/locales/nl/messages.po | 86 +- src/frontend/src/locales/no/messages.po | 86 +- src/frontend/src/locales/pl/messages.po | 86 +- .../src/locales/pseudo-LOCALE/messages.po | 24 +- src/frontend/src/locales/pt-br/messages.po | 24 +- src/frontend/src/locales/pt/messages.po | 1896 ++++++------ src/frontend/src/locales/ru/messages.po | 86 +- src/frontend/src/locales/sk/messages.po | 86 +- src/frontend/src/locales/sl/messages.po | 86 +- src/frontend/src/locales/sr/messages.po | 86 +- src/frontend/src/locales/sv/messages.po | 86 +- src/frontend/src/locales/th/messages.po | 86 +- src/frontend/src/locales/tr/messages.po | 86 +- src/frontend/src/locales/uk/messages.po | 86 +- src/frontend/src/locales/vi/messages.po | 86 +- src/frontend/src/locales/zh-hans/messages.po | 24 +- src/frontend/src/locales/zh-hant/messages.po | 24 +- src/frontend/src/locales/zh/messages.po | 314 +- 71 files changed, 35740 insertions(+), 33981 deletions(-) diff --git a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po index dc1a967554..20caf7454e 100644 --- a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:54\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Language: bg_BG\n" @@ -56,18 +56,18 @@ msgstr "Подробности за грешката могат да се нам msgid "Enter date" msgstr "Въведи дата" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "" @@ -440,10 +440,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "родител" msgid "Path" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "" @@ -750,14 +750,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "" msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -972,8 +972,8 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1109,10 +1109,10 @@ msgstr "" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "" @@ -1435,11 +1435,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "" @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "" @@ -1914,6 +1914,22 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "" - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1129 +2315,1129 @@ msgstr "" msgid "Template" msgstr "" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1878 +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3434,24 +3445,24 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3462,101 +3473,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3566,31 +3577,39 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3688,6 +3707,23 @@ msgstr "" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "" + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3918,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -3929,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,7 +3980,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3989,7 +4025,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4015,7 +4051,7 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4032,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "" @@ -4053,26 +4089,26 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4097,7 +4133,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "" @@ -4117,11 +4153,11 @@ msgstr "" msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4194,7 +4230,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4405,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4505,7 +4541,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4555,10 +4591,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4712,7 +4748,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4770,11 +4806,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +4995,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5021,8 +5057,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" @@ -5070,7 +5106,7 @@ msgstr "" msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5144,7 +5180,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5153,163 +5189,163 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5735,34 +5771,34 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5771,11 +5807,11 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5787,11 +5823,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5804,12 +5840,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5827,8 +5863,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5943,8 +5979,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5952,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Цялостна наличност" @@ -5970,371 +6006,371 @@ msgstr "Цялостна наличност" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6346,686 +6382,686 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -7251,15 +7287,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8308,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8324,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -8832,7 +8868,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8877,7 +8913,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" @@ -8889,7 +8925,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" @@ -8966,7 +9002,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" @@ -8998,7 +9034,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9122,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "" @@ -9444,7 +9480,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "" @@ -9464,11 +9500,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10199,20 +10235,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "" @@ -10705,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "" @@ -14334,3 +14370,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po index b1a73d11a1..6b2d54857b 100644 --- a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:54\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-06 13:52\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -56,18 +56,18 @@ msgstr "Podrobnosti o chybě lze nalézt v panelu administrace" msgid "Enter date" msgstr "Zadejte datum" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -325,7 +325,7 @@ msgstr "Turečtina" #: InvenTree/locales.py:48 msgid "Ukrainian" -msgstr "" +msgstr "Ukrajinština" #: InvenTree/locales.py:49 msgid "Vietnamese" @@ -409,10 +409,10 @@ msgstr "Příloha" msgid "Select file to attach" msgstr "Vyberte soubor k přiložení" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "Vyberte soubor k přiložení" msgid "Link" msgstr "Odkaz" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "Odkaz na externí URL" @@ -440,10 +440,10 @@ msgstr "Komentář" msgid "File comment" msgstr "Komentář k souboru" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "Duplicitní názvy nemohou existovat pod stejným nadřazeným názvem" msgid "Invalid choice" msgstr "Neplatný výběr" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "Název" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "nadřazený" msgid "Path" msgstr "Cesta" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "Poznámky (volitelné)" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "Data čárového kódu" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "Data čárového kódu třetí strany" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "Hash čárového kódu" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "Jedinečný hash dat čárového kódu" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "Nalezen existující čárový kód" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "Chyba serveru" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "Server zaznamenal chybu." -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "Musí být platné číslo" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Měna" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "Vyberte měnu z dostupných možností" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "Nemáte oprávnění měnit tuto uživatelskou roli." -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "Pouze superuživatelé mohou vytvářet nové uživatele" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "Váš účet byl vytvořen." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "Pro přihlášení použijte funkci obnovení hesla" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "Vítejte v InvenTree" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "Název souboru" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "Neplatná hodnota" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "Datový soubor" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "Vyberte datový soubor k nahrání" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "Nepodporovaný typ souboru" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "Soubor je příliš velký" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "V souboru nebyly nalezeny žádné sloupce" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "V souboru nebyly nalezeny žádné řádky s daty" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "Nebyly zadány žádné řádky s daty" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "Nebyly zadány žádné sloupce s daty" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Chybí povinný sloupec: '{name}'" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplicitní sloupec: '{col}'" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "Vzdálený obraz" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "URL souboru vzdáleného obrázku" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "Stahování obrázků ze vzdálené URL není povoleno" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "Kontrola procesů na pozadí se nezdařila" @@ -750,14 +750,14 @@ msgstr "O InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Sestavení musí být zrušeno před odstraněním" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Spotřební materiál" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "Sledováno" msgid "Allocated" msgstr "Přiděleno" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "Referenční číslo objednávky" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "Stav sestavení" msgid "Build status code" msgstr "Stavový kód sestavení" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Kód dávky" @@ -972,8 +972,8 @@ msgstr "Kód dávky" msgid "Batch code for this build output" msgstr "Dávkový kód pro tento výstup sestavení" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "Uživatel, který vydal tento příkaz k sestavení" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "Priorita sestavení" msgid "Priority of this build order" msgstr "Priorita tohoto příkazu k sestavení" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1060,7 +1060,7 @@ msgstr "Kód projektu pro objednávku sestavení" #: build/models.py:593 build/models.py:658 msgid "Failed to offload task to complete build allocations" -msgstr "" +msgstr "Nepodařilo se uvolnit úlohu pro dokončení přidělení sestavy" #: build/models.py:615 #, python-brace-format @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "Výstup sestavení neodpovídá příkazu sestavení" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Množství musí být vyšší než nula" @@ -1101,7 +1101,7 @@ msgstr "Výstup sestavy {serial} neprošel všemi požadavky" #: build/models.py:1352 msgid "Build Order Line Item" -msgstr "" +msgstr "Vytvořit položku řádku objednávky" #: build/models.py:1377 msgid "Build object" @@ -1109,10 +1109,10 @@ msgstr "Vytvořit objekt" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "Vytvořit objekt" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "Množství musí být 1 pro zřetězený sklad" msgid "Selected stock item does not match BOM line" msgstr "Vybraná položka zásob neodpovídá řádku BOM" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,21 +1250,21 @@ msgstr "Celé množství požadované pro sledovatelné díly" 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:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Sériová čísla" #: build/serializers.py:295 msgid "Enter serial numbers for build outputs" -msgstr "" +msgstr "Zadejte sériová čísla pro sestavení výstupů" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1282,7 +1282,7 @@ msgstr "Lokace" #: build/serializers.py:301 msgid "Stock location for build output" -msgstr "" +msgstr "Skladové umístění pro výstup sestavy" #: build/serializers.py:315 msgid "Auto Allocate Serial Numbers" @@ -1290,19 +1290,19 @@ msgstr "Automaticky zvolit sériová čísla" #: build/serializers.py:316 msgid "Automatically allocate required items with matching serial numbers" -msgstr "" +msgstr "Automaticky přidělit požadované položky s odpovídajícími sériovými čísly" #: build/serializers.py:331 msgid "Serial numbers must be provided for trackable parts" -msgstr "" +msgstr "U sledovatelných dílů musí být uvedena sériová čísla" #: build/serializers.py:356 stock/api.py:1031 msgid "The following serial numbers already exist or are invalid" -msgstr "" +msgstr "Následující sériová čísla již existují nebo jsou neplatná" #: build/serializers.py:403 build/serializers.py:465 build/serializers.py:554 msgid "A list of build outputs must be provided" -msgstr "" +msgstr "Musí být uveden seznam výstupů sestavy" #: build/serializers.py:442 msgid "Stock location for scrapped outputs" @@ -1310,24 +1310,24 @@ msgstr "Umístění zásob pro seškrábnuté výstupy" #: build/serializers.py:448 msgid "Discard Allocations" -msgstr "" +msgstr "Zahodit alokace" #: build/serializers.py:449 msgid "Discard any stock allocations for scrapped outputs" -msgstr "" +msgstr "Vyřadit všechny přidělené zásoby pro vyřazené výstupy" #: build/serializers.py:454 msgid "Reason for scrapping build output(s)" -msgstr "" +msgstr "Důvod vyřazení výstupu(ů) sestavy" #: build/serializers.py:514 msgid "Location for completed build outputs" -msgstr "" +msgstr "Umístění dokončených výstupů sestavy" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1341,124 +1341,124 @@ msgstr "Stav" #: build/serializers.py:526 msgid "Accept Incomplete Allocation" -msgstr "" +msgstr "Přijmout neúplné přidělení" #: build/serializers.py:527 msgid "Complete outputs if stock has not been fully allocated" -msgstr "" +msgstr "Dokončit výstupy pokud zásoby nebyly plně přiděleny" #: build/serializers.py:612 msgid "Consume Allocated Stock" -msgstr "" +msgstr "Spotřebovat přidělené zásoby" #: build/serializers.py:613 msgid "Consume any stock which has already been allocated to this build" -msgstr "" +msgstr "Spotřebovat všechny zásoby, které již byly přiděleny této sestavě" #: build/serializers.py:619 msgid "Remove Incomplete Outputs" -msgstr "" +msgstr "Odstranit neúplné výstupy" #: build/serializers.py:620 msgid "Delete any build outputs which have not been completed" -msgstr "" +msgstr "Odstranit všechny výstupy sestavy, které nebyly dokončeny" #: build/serializers.py:647 msgid "Not permitted" -msgstr "" +msgstr "Není povoleno" #: build/serializers.py:648 msgid "Accept as consumed by this build order" -msgstr "" +msgstr "Přijmout jako spotřebované touto objednávkou sestavy" #: build/serializers.py:649 msgid "Deallocate before completing this build order" -msgstr "" +msgstr "Uvolnit před dokončením této objednávky sestavy" #: build/serializers.py:679 msgid "Overallocated Stock" -msgstr "" +msgstr "Nadměrně přidělené zásoby" #: build/serializers.py:681 msgid "How do you want to handle extra stock items assigned to the build order" -msgstr "" +msgstr "Jak chcete zacházet s extra skladovými položkami přiřazenými k objednávce na sestavu" #: build/serializers.py:691 msgid "Some stock items have been overallocated" -msgstr "" +msgstr "Některé skladové položky byly nadměrně přiděleny" #: build/serializers.py:696 msgid "Accept Unallocated" -msgstr "" +msgstr "Přijmout nepřidělené" #: build/serializers.py:697 msgid "Accept that stock items have not been fully allocated to this build order" -msgstr "" +msgstr "Přijmout, že skladové položky nebyly plně přiřazeny k této objednávce sestavy" #: build/serializers.py:707 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" -msgstr "" +msgstr "Požadované zásoby nebyly plně přiděleny" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" -msgstr "" +msgstr "Přijmout neúplné" #: build/serializers.py:713 msgid "Accept that the required number of build outputs have not been completed" -msgstr "" +msgstr "Přijmout, že nebyl dokončen požadovaný počet výstupů sestavy" #: build/serializers.py:723 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" -msgstr "" +msgstr "Požadované množství sestavy nebylo dokončeno" #: build/serializers.py:732 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" -msgstr "" +msgstr "Objednávka sestavy má neúplné výstupy" #: build/serializers.py:770 msgid "Build Line" -msgstr "" +msgstr "Linka sestavy" #: build/serializers.py:780 msgid "Build output" -msgstr "" +msgstr "Výstup sestavy" #: build/serializers.py:788 msgid "Build output must point to the same build" -msgstr "" +msgstr "Výstup sestavy musí odkazovat na stejnou sestavu" #: build/serializers.py:824 msgid "Build Line Item" -msgstr "" +msgstr "Řádková položka sestavy" #: build/serializers.py:838 msgid "bom_item.part must point to the same part as the build order" -msgstr "" +msgstr "bom_item.part musí ukazovat na stejný díl jako objednávka sestavy" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" -msgstr "" +msgstr "Položka musí být skladem" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" -msgstr "" +msgstr "Dostupné množství ({q}) překročeno" #: build/serializers.py:907 msgid "Build output must be specified for allocation of tracked parts" -msgstr "" +msgstr "Pro přidělení sledovaných dílů musí být zadán výstup sestavy" #: build/serializers.py:914 msgid "Build output cannot be specified for allocation of untracked parts" -msgstr "" +msgstr "Výstup sestavy nelze zadat pro přidělení nesledovaných dílů" -#: build/serializers.py:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" -msgstr "" +msgstr "Položky přidělení musí být poskytnuty" #: build/serializers.py:1001 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" -msgstr "" +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:1009 msgid "Exclude Location" @@ -1466,23 +1466,23 @@ msgstr "Vynechat lokace" #: build/serializers.py:1010 msgid "Exclude stock items from this selected location" -msgstr "" +msgstr "Vyloučit skladové položky z tohoto vybraného umístění" #: build/serializers.py:1015 msgid "Interchangeable Stock" -msgstr "" +msgstr "Zaměnitelné zásoby" #: build/serializers.py:1016 msgid "Stock items in multiple locations can be used interchangeably" -msgstr "" +msgstr "Skladové položky na více místech lze používat zaměnitelně" #: build/serializers.py:1021 msgid "Substitute Stock" -msgstr "" +msgstr "Náhradní zásoby" #: build/serializers.py:1022 msgid "Allow allocation of substitute parts" -msgstr "" +msgstr "Povolit přidělování náhradních dílů" #: build/serializers.py:1027 msgid "Optional Items" @@ -1490,41 +1490,41 @@ msgstr "Volitelné položky" #: build/serializers.py:1028 msgid "Allocate optional BOM items to build order" -msgstr "" +msgstr "Přiřazení volitelných BOM položek k objednávce sestavy" #: build/serializers.py:1050 msgid "Failed to start auto-allocation task" -msgstr "" +msgstr "Nepodařilo se spustit úlohu automatického přidělování" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" -msgstr "" +msgstr "BOM Položka" #: build/serializers.py:1149 templates/js/translated/index.js:130 msgid "Allocated Stock" -msgstr "" +msgstr "Přidělené zásoby" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" -msgstr "" +msgstr "Na objednávku" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" -msgstr "" +msgstr "Ve výrobě" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" -msgstr "" +msgstr "Dostupné zásoby" #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 @@ -1550,20 +1550,20 @@ msgstr "Hotovo" #: build/tasks.py:184 msgid "Stock required for build order" -msgstr "" +msgstr "Zásoby potřebné pro objednávku sestavy" #: build/tasks.py:201 msgid "Overdue Build Order" -msgstr "" +msgstr "Opožděná objednávka sestavy" #: build/tasks.py:206 #, python-brace-format msgid "Build order {bo} is now overdue" -msgstr "" +msgstr "Objednávka sestavy {bo} je nyní opožděná" #: build/templates/build/build_base.html:18 msgid "Part thumbnail" -msgstr "" +msgstr "Miniatura dílu" #: build/templates/build/build_base.html:38 #: company/templates/company/supplier_part.html:35 @@ -1575,7 +1575,7 @@ msgstr "" #: stock/templates/stock/location.html:55 #: templates/js/translated/filters.js:335 msgid "Barcode actions" -msgstr "" +msgstr "Akce čárového kódu" #: build/templates/build/build_base.html:42 #: company/templates/company/supplier_part.html:39 @@ -1617,60 +1617,60 @@ msgstr "Přiřadit čárový kód" #: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:55 msgid "Print actions" -msgstr "" +msgstr "Akce tisku" #: build/templates/build/build_base.html:60 msgid "Print build order report" -msgstr "" +msgstr "Tisk reportu o objednávce sestavy" #: build/templates/build/build_base.html:67 msgid "Build actions" -msgstr "" +msgstr "Akce sestavy" #: build/templates/build/build_base.html:71 msgid "Edit Build" -msgstr "" +msgstr "Upravit sestavu" #: build/templates/build/build_base.html:73 msgid "Cancel Build" -msgstr "" +msgstr "Zrušit sestavu" #: build/templates/build/build_base.html:76 msgid "Duplicate Build" -msgstr "" +msgstr "Duplikovat sestavu" #: build/templates/build/build_base.html:79 msgid "Delete Build" -msgstr "" +msgstr "Smazat sestavu" #: build/templates/build/build_base.html:84 #: build/templates/build/build_base.html:85 msgid "Complete Build" -msgstr "" +msgstr "Dokončit sestavu" #: build/templates/build/build_base.html:107 msgid "Build Description" -msgstr "" +msgstr "Popis sestavy" #: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" -msgstr "" +msgstr "Pro tuto objednávku sestavy nebyly vytvořeny žádné výstupy sestavy" #: build/templates/build/build_base.html:124 msgid "Build Order is ready to mark as completed" -msgstr "" +msgstr "Objednávka sestavy je připravena k označení jako dokončená" #: build/templates/build/build_base.html:129 msgid "Build Order cannot be completed as outstanding outputs remain" -msgstr "" +msgstr "Objednávku sestavy nelze dokončit, protože zbývají nevyřízené výstupy" #: build/templates/build/build_base.html:134 msgid "Required build quantity has not yet been completed" -msgstr "" +msgstr "Požadované množství sestavy ještě nebylo dokončeno" #: build/templates/build/build_base.html:139 msgid "Stock has not been fully allocated to this Build Order" -msgstr "" +msgstr "Zásoby nebyly plně přiřazeny k této objednávce na sestavu" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 @@ -1691,7 +1691,7 @@ msgstr "Cílené datum" #: build/templates/build/build_base.html:165 #, python-format msgid "This build was due on %(target)s" -msgstr "" +msgstr "Tato sestava byla splatná v %(target)s" #: build/templates/build/build_base.html:165 #: build/templates/build/build_base.html:222 @@ -1703,12 +1703,12 @@ msgstr "" #: templates/js/translated/table_filters.js:626 #: templates/js/translated/table_filters.js:667 msgid "Overdue" -msgstr "" +msgstr "Po splatnosti" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 msgid "Completed Outputs" -msgstr "" +msgstr "Dokončené výstupy" #: build/templates/build/build_base.html:190 #: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 @@ -1724,14 +1724,14 @@ msgstr "" #: templates/js/translated/sales_order.js:1028 #: templates/js/translated/stock.js:2924 msgid "Sales Order" -msgstr "" +msgstr "Prodejní objednávka" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" -msgstr "" +msgstr "Vystavil" #: build/templates/build/build_base.html:211 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2156 @@ -1740,40 +1740,40 @@ msgstr "Priorita" #: build/templates/build/build_base.html:269 msgid "Delete Build Order" -msgstr "" +msgstr "Odstranit objednávku sestavy" #: build/templates/build/build_base.html:279 msgid "Build Order QR Code" -msgstr "" +msgstr "QR kód objednávky sestavy" #: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" -msgstr "" +msgstr "Propojit čárový kód s objednávkou sestavy" #: build/templates/build/detail.html:15 msgid "Build Details" -msgstr "" +msgstr "Detaily sestavy" #: build/templates/build/detail.html:38 msgid "Stock Source" -msgstr "" +msgstr "Zdroj zásob" #: build/templates/build/detail.html:43 msgid "Stock can be taken from any available location." -msgstr "" +msgstr "Zásoby lze odebírat z jakéhokoli dostupného umístění." #: build/templates/build/detail.html:49 order/models.py:1479 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" -msgstr "" +msgstr "Místo určení" #: build/templates/build/detail.html:56 msgid "Destination location not specified" -msgstr "" +msgstr "Místo určení není specifikováno" #: build/templates/build/detail.html:73 msgid "Allocated Parts" -msgstr "" +msgstr "Přidělené díly" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 @@ -1785,7 +1785,7 @@ msgstr "" #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" -msgstr "" +msgstr "Šarže" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 @@ -1807,72 +1807,72 @@ msgstr "Dokončeno" #: build/templates/build/detail.html:153 msgid "Build not complete" -msgstr "" +msgstr "Sestava není dokončena" #: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" -msgstr "" +msgstr "Podřízené objednávky sestavy" #: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" -msgstr "" +msgstr "Přiděleit zásoby k sestavě" #: build/templates/build/detail.html:181 msgid "Deallocate stock" -msgstr "" +msgstr "Uvolnění zásob" #: build/templates/build/detail.html:182 msgid "Deallocate Stock" -msgstr "" +msgstr "Uvolnění zásob" #: build/templates/build/detail.html:184 msgid "Automatically allocate stock to build" -msgstr "" +msgstr "Automaticky přiřadit zásoby k sestavě" #: build/templates/build/detail.html:185 msgid "Auto Allocate" -msgstr "" +msgstr "Automaticky přiřadit" #: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" -msgstr "" +msgstr "Manuálně přiřadit zásoby k sestavě" #: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" -msgstr "" +msgstr "Přidělit zásoby" #: build/templates/build/detail.html:191 msgid "Order required parts" -msgstr "" +msgstr "Objednat požadované díly" #: build/templates/build/detail.html:192 #: templates/js/translated/purchase_order.js:795 msgid "Order Parts" -msgstr "" +msgstr "Objednat díly" #: build/templates/build/detail.html:205 msgid "Available stock has been filtered based on specified source location for this build order" -msgstr "" +msgstr "Dostupné skladové zásoby byly vyfiltrovány na základě zadaného místa zdroje pro tuto objednávku sestavy" #: build/templates/build/detail.html:215 msgid "Incomplete Build Outputs" -msgstr "" +msgstr "Neúplné výstupy sestavy" #: build/templates/build/detail.html:219 msgid "Create new build output" -msgstr "" +msgstr "Vytvořit nový výstup sestavy" #: build/templates/build/detail.html:220 msgid "New Build Output" -msgstr "" +msgstr "Nový výstup sestavy" #: build/templates/build/detail.html:237 build/templates/build/sidebar.html:15 msgid "Consumed Stock" -msgstr "" +msgstr "Spotřebované zásoby" #: build/templates/build/detail.html:249 msgid "Completed Build Outputs" -msgstr "" +msgstr "Dokončené výstupy sestavy" #: build/templates/build/detail.html:261 build/templates/build/sidebar.html:19 #: company/templates/company/detail.html:229 @@ -1888,52 +1888,68 @@ msgstr "" #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" -msgstr "" +msgstr "Přílohy" #: build/templates/build/detail.html:276 msgid "Build Notes" -msgstr "" +msgstr "Poznámky k sestavě" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" -msgstr "" +msgstr "Přidělení dokončeno" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" -msgstr "" +msgstr "Všechny řádky byly plně přiděleny" #: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" -msgstr "" +msgstr "Objednávka nové sestavy" #: build/templates/build/sidebar.html:5 msgid "Build Order Details" -msgstr "" +msgstr "Podrobnosti o objednávce sestavy" #: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" -msgstr "" +msgstr "Neúplné výstupy" + +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "Neplatný kód měny" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "Duplicitní kód měny" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "Nejsou uvedeny žádné platné kódy měn" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "Žádný plugin" #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" -msgstr "" +msgstr "Nepodporovaný formát souboru: {fmt}" #: common/files.py:65 msgid "Error reading file (invalid encoding)" -msgstr "" +msgstr "Chyba při čtení souboru (neplatné kódování)" #: common/files.py:70 msgid "Error reading file (invalid format)" -msgstr "" +msgstr "Chyba při čtení souboru (neplatný formát)" #: common/files.py:72 msgid "Error reading file (incorrect dimension)" -msgstr "" +msgstr "Chyba při čtení souboru (nesprávný rozměr)" #: common/files.py:74 msgid "Error reading file (data could be corrupted)" -msgstr "" +msgstr "Chyba při čtení souboru (data mohou být poškozena)" #: common/forms.py:12 msgid "File" @@ -1941,362 +1957,357 @@ msgstr "Soubor" #: common/forms.py:12 msgid "Select file to upload" -msgstr "" +msgstr "Vybrat soubor k nahrání" #: common/forms.py:25 msgid "{name.title()} File" -msgstr "" +msgstr "{name.title()} Soubor" #: common/forms.py:26 #, python-brace-format msgid "Select {name} file to upload" -msgstr "" +msgstr "Vyberte {name} soubor k nahrání" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" -msgstr "" +msgstr "Aktualizováno" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" -msgstr "" +msgstr "Časové razítko poslední aktualizace" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" -msgstr "" +msgstr "Adresa URL webu je uzamčena konfigurací" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" -msgstr "" +msgstr "Jedinečný kód projektu" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" -msgstr "" +msgstr "Popis projektu" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" -msgstr "" +msgstr "Uživatel nebo skupina odpovědná za tento projekt" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" -msgstr "" +msgstr "Klíč nastavení (musí být unikátní - rozlišuje malá a velká písmena)" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" -msgstr "" +msgstr "Hodnota nastavení" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" -msgstr "" +msgstr "Zvolená hodnota není platnou možností" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" -msgstr "" +msgstr "Hodnota musí být logická hodnota" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" -msgstr "" +msgstr "Hodnota musí být celé číslo" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" -msgstr "" +msgstr "Klíčový text musí být jedinečný" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" -msgstr "" +msgstr "Žádná skupina" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "" - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" -msgstr "" +msgstr "Je vyžadován restart" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" -msgstr "" +msgstr "Bylo změněno nastavení, které vyžaduje restart serveru" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" -msgstr "" +msgstr "Nevyřízené migrace" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" -msgstr "" +msgstr "Počet nevyřízených migrací databáze" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" -msgstr "" +msgstr "Název instance serveru" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" -msgstr "" +msgstr "Textový popisovač pro instanci serveru" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" -msgstr "" +msgstr "Použít název instance" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" -msgstr "" +msgstr "Použít název instance v liště" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" -msgstr "" +msgstr "Omezit zobrazování `o aplikaci`" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" -msgstr "" +msgstr "Zobrazovat okno `o aplikaci` pouze superuživatelům" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "Jméno společnosti" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" -msgstr "" +msgstr "Interní název společnosti" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" -msgstr "" +msgstr "Základní URL" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" -msgstr "" +msgstr "Základní URL pro instanci serveru" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "Výchozí měna" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" -msgstr "" +msgstr "Vyberte základní měnu pro cenové kalkulace" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "Podporované měny" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "Seznam podporovaných kódů měn" + +#: common/models.py:1271 msgid "Currency Update Interval" -msgstr "" +msgstr "Interval aktualizace měny" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" -msgstr "" +msgstr "Jak často aktualizovat směnné kurzy (pro vypnutí nastavte na nulu)" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" -msgstr "" +msgstr "dny" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" -msgstr "" +msgstr "Plugin aktualizace měny" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" -msgstr "" +msgstr "Plugin pro aktualizaci měn k použití" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "Stáhnout z URL" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" -msgstr "" +msgstr "Povolit stahování vzdálených obrázků a souborů z externích URL" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1131 +2315,1129 @@ msgstr "" msgid "Template" msgstr "" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" -msgstr "" +msgstr "Komponent" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" -msgstr "" +msgstr "Díly lze ve výchozím nastavení použít jako dílčí komponenty" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "Možné zakoupit" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "Díly jsou zakoupitelné ve výchozím nastavení" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Prodejné" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "Díly jsou prodejné ve výchozím nastavení" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Sledovatelné" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "Díly jsou sledovatelné ve výchozím nastavení" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Nehmotné (virtuální)" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "Díly jsou nehmotné (virtuální) ve výchozím nastavení" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "Zobrazit Import v zobrazeních" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" -msgstr "" +msgstr "Zobrazit průvodce importem v některých zobrazeních dílu" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "Zobrazit související díly" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "Zobrazit související díly pro díl" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "Počáteční údaje zásob" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "Povolit vytvoření počátečního skladu při přidání nové části" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Počáteční údaje dodavatele" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Povolit vytvoření počátečních dat dodavatele při přidávání nového dílu" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "Formát zobrazení jména dílu" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "Formát pro zobrazení názvu dílu" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "Výchozí ikona kategorie dílu" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "Výchozí ikona kategorie dílu (prázdné znamená bez ikony)" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" -msgstr "" +msgstr "Vynutit jednotky parametru" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" -msgstr "" +msgstr "Pokud jsou uvedeny jednotky, musí hodnoty parametrů odpovídat zadaným jednotkám" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "Minimální počet desetinných míst u cen" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Minimální počet desetinných míst k zobrazení u cenových údajů" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "Maximální počet desetinných míst u cen" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Maximální počet desetinných míst k zobrazení u cenových údajů" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "Použít ceny dodavatele" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" -msgstr "" +msgstr "Zahrnout cenová zvýhodnění dodavatelů do celkových cenových kalkulací" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "Přepsání historie nákupu" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" -msgstr "" +msgstr "Historické ceny nákupních objednávek mají přednost před cenovými zvýhodněními dodavatele" + +#: common/models.py:1576 +msgid "Use Stock Item Pricing" +msgstr "Použít ceny skladových položek" + +#: common/models.py:1578 +msgid "Use pricing from manually entered stock data for pricing calculations" +msgstr "Použít ceny z ručně zadaných skladových údajů pro cenové kalkulace" + +#: common/models.py:1584 +msgid "Stock Item Pricing Age" +msgstr "Stáří cen skladových položek" + +#: common/models.py:1586 +msgid "Exclude stock items older than this number of days from pricing calculations" +msgstr "Vyloučit skladové položky starší než tento počet dní z cenových kalkulací" + +#: common/models.py:1593 +msgid "Use Variant Pricing" +msgstr "Použít cenu varianty" + +#: common/models.py:1594 +msgid "Include variant pricing in overall pricing calculations" +msgstr "Zahrnutí cen variant do celkových cenových kalkulací" + +#: common/models.py:1599 +msgid "Active Variants Only" +msgstr "Pouze aktivní varianty" + +#: common/models.py:1601 +msgid "Only use active variant parts for calculating variant pricing" +msgstr "Pro výpočet ceny varianty použijte pouze aktivní díly varianty" #: common/models.py:1607 -msgid "Use Stock Item Pricing" -msgstr "" +msgid "Pricing Rebuild Interval" +msgstr "Interval přestavby cen" #: common/models.py:1609 -msgid "Use pricing from manually entered stock data for pricing calculations" -msgstr "" +msgid "Number of days before part pricing is automatically updated" +msgstr "Počet dní před automatickou aktualizací cen dílů" -#: common/models.py:1615 -msgid "Stock Item Pricing Age" -msgstr "" +#: common/models.py:1616 +msgid "Internal Prices" +msgstr "Interní ceny" #: common/models.py:1617 -msgid "Exclude stock items older than this number of days from pricing calculations" -msgstr "" +msgid "Enable internal prices for parts" +msgstr "Povolit interní ceny pro díly" + +#: common/models.py:1622 +msgid "Internal Price Override" +msgstr "Přepis interní ceny" #: common/models.py:1624 -msgid "Use Variant Pricing" -msgstr "" - -#: common/models.py:1625 -msgid "Include variant pricing in overall pricing calculations" -msgstr "" +msgid "If available, internal prices override price range calculations" +msgstr "Pokud jsou k dispozici, interní ceny mají přednost před výpočty cenového rozpětí" #: common/models.py:1630 -msgid "Active Variants Only" -msgstr "" +msgid "Enable label printing" +msgstr "Povolit tisk štítků" -#: common/models.py:1632 -msgid "Only use active variant parts for calculating variant pricing" -msgstr "" +#: common/models.py:1631 +msgid "Enable label printing from the web interface" +msgstr "Povolit tisk štítků z webového rozhraní" + +#: common/models.py:1636 +msgid "Label Image DPI" +msgstr "DPI rozlišení štítků" #: common/models.py:1638 -msgid "Pricing Rebuild Interval" -msgstr "" - -#: common/models.py:1640 -msgid "Number of days before part pricing is automatically updated" -msgstr "" - -#: common/models.py:1647 -msgid "Internal Prices" -msgstr "" - -#: common/models.py:1648 -msgid "Enable internal prices for parts" -msgstr "" - -#: common/models.py:1653 -msgid "Internal Price Override" -msgstr "" - -#: common/models.py:1655 -msgid "If available, internal prices override price range calculations" -msgstr "" - -#: common/models.py:1661 -msgid "Enable label printing" -msgstr "" - -#: common/models.py:1662 -msgid "Enable label printing from the web interface" -msgstr "" - -#: common/models.py:1667 -msgid "Label Image DPI" -msgstr "" - -#: common/models.py:1669 msgid "DPI resolution when generating image files to supply to label printing plugins" -msgstr "" +msgstr "Rozlišení DPI při generování obrazových souborů, které se dodávají do zásuvných modulů pro tisk štítků" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" -msgstr "" +msgstr "Povolit reporty" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" -msgstr "" +msgstr "Povolit generování reportů" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" -msgstr "" +msgstr "Režim ladění chyb" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" -msgstr "" +msgstr "Generovat reporty v režimu ladění (HTML výstup)" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" -msgstr "" +msgstr "Zaznamenávat chyby reportů" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" -msgstr "" +msgstr "Zaznamenávat chyby, které se vyskytnou při vytváření reportů" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "Velikost stránky" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "Výchozí velikost stránky pro PDF reporty" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "Povolit testovací reporty" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "Povolit generování zkušebních reportů" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "Připojit testovací reporty" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Při tisku testovacího reportu, připojte kopii reportu k přidružené skladové položce" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" -msgstr "" +msgstr "Globálně unikátní sériová čísla" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "Sériová čísla pro skladové položky musí být globálně unikátní" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "Automaticky vyplnit sériová čísla" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "Automaticky vyplnit sériová čísla ve formulářích" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "Odstranit vyčerpané zásoby" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" -msgstr "" +msgstr "Určuje výchozí chování při vyčerpání zásoby položky" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" -msgstr "" +msgstr "Šablona kódu dávky" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" -msgstr "" +msgstr "Šablona pro generování výchozích kódů dávky pro skladové položky" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" -msgstr "" +msgstr "Expirace zásob" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" -msgstr "" +msgstr "Povolit funkci expirace zásob" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" -msgstr "" +msgstr "Prodat prošlé zásoby" + +#: common/models.py:1716 +msgid "Allow sale of expired stock" +msgstr "Povolit prodej prošlých zásob" + +#: common/models.py:1721 +msgid "Stock Stale Time" +msgstr "Čas stáří zásob" + +#: common/models.py:1723 +msgid "Number of days stock items are considered stale before expiring" +msgstr "Počet dnů, po které jsou skladové položky považovány za nevyužité před uplynutím doby expirace" + +#: common/models.py:1730 +msgid "Build Expired Stock" +msgstr "Sestavit prošlé zásoby" + +#: common/models.py:1731 +msgid "Allow building with expired stock" +msgstr "Povolit sestavování s prošlými zásobami" + +#: common/models.py:1736 +msgid "Stock Ownership Control" +msgstr "Kontrola vlastnictví zásob" + +#: common/models.py:1737 +msgid "Enable ownership control over stock locations and items" +msgstr "Umožnit kontrolu vlastnictví nad skladovými místy a položkami" + +#: common/models.py:1742 +msgid "Stock Location Default Icon" +msgstr "Výchozí ikona umístění zásob" + +#: common/models.py:1743 +msgid "Stock location default icon (empty means no icon)" +msgstr "Výchozí ikona umístění zásob (prázdné znamená bez ikony)" #: common/models.py:1747 -msgid "Allow sale of expired stock" -msgstr "" +msgid "Show Installed Stock Items" +msgstr "Zobrazit nainstalované skladové položky" -#: common/models.py:1752 -msgid "Stock Stale Time" -msgstr "" +#: common/models.py:1748 +msgid "Display installed stock items in stock tables" +msgstr "Zobrazit nainstalované skladové položky ve skladových tabulkách" -#: common/models.py:1754 -msgid "Number of days stock items are considered stale before expiring" -msgstr "" +#: common/models.py:1753 +msgid "Check BOM when installing items" +msgstr "Zkontrolovat BOM při instalaci položek" + +#: common/models.py:1755 +msgid "Installed stock items must exist in the BOM for the parent part" +msgstr "Nainstalované skladové položky musí existovat v BOM pro nadřazený díl" #: common/models.py:1761 -msgid "Build Expired Stock" -msgstr "" +msgid "Allow Out of Stock Transfer" +msgstr "Povolit převod mimo sklad" -#: common/models.py:1762 -msgid "Allow building with expired stock" -msgstr "" +#: common/models.py:1763 +msgid "Allow stock items which are not in stock to be transferred between stock locations" +msgstr "Umožnit přesun skladových položek, které nejsou na skladě, mezi skladovými místy" -#: common/models.py:1767 -msgid "Stock Ownership Control" -msgstr "" +#: common/models.py:1769 +msgid "Build Order Reference Pattern" +msgstr "Referenční vzor objednávky sestavy" -#: common/models.py:1768 -msgid "Enable ownership control over stock locations and items" -msgstr "" +#: common/models.py:1771 +msgid "Required pattern for generating Build Order reference field" +msgstr "Požadovaný vzor pro generování referenčního pole Objednávka sestavy" -#: common/models.py:1773 -msgid "Stock Location Default Icon" -msgstr "" +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 +msgid "Require Responsible Owner" +msgstr "Vyžadovat odpovědného vlastníka" -#: common/models.py:1774 -msgid "Stock location default icon (empty means no icon)" -msgstr "" +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 +msgid "A responsible owner must be assigned to each order" +msgstr "Ke každé objednávce musí být přiřazen odpovědný vlastník" -#: common/models.py:1778 -msgid "Show Installed Stock Items" -msgstr "" +#: common/models.py:1783 +msgid "Block Until Tests Pass" +msgstr "Blokovat, dokud testy neprojdou" -#: common/models.py:1779 -msgid "Display installed stock items in stock tables" -msgstr "" +#: common/models.py:1785 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "Zabránit dokončení výstupů sestavy, dokud neprojdou všechny požadované testy" -#: common/models.py:1784 -msgid "Check BOM when installing items" -msgstr "" - -#: common/models.py:1786 -msgid "Installed stock items must exist in the BOM for the parent part" -msgstr "" +#: common/models.py:1791 +msgid "Enable Return Orders" +msgstr "Povolit vracení objednávek" #: common/models.py:1792 -msgid "Allow Out of Stock Transfer" -msgstr "" - -#: common/models.py:1794 -msgid "Allow stock items which are not in stock to be transferred between stock locations" -msgstr "" - -#: common/models.py:1800 -msgid "Build Order Reference Pattern" -msgstr "" - -#: common/models.py:1802 -msgid "Required pattern for generating Build Order reference field" -msgstr "" - -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 -msgid "Require Responsible Owner" -msgstr "" - -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 -msgid "A responsible owner must be assigned to each order" -msgstr "" - -#: common/models.py:1814 -msgid "Block Until Tests Pass" -msgstr "" - -#: common/models.py:1816 -msgid "Prevent build outputs from being completed until all required tests pass" -msgstr "" - -#: common/models.py:1822 -msgid "Enable Return Orders" -msgstr "" - -#: common/models.py:1823 msgid "Enable return order functionality in the user interface" -msgstr "" +msgstr "Povolit funkci vrácení objednávky v uživatelském rozhraní" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" -msgstr "" +msgstr "Referenční vzor návratové objednávky" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" -msgstr "" +msgstr "Požadovaný vzor pro vygenerování referenčního pole Návratová objednávka" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" -msgstr "" +msgstr "Úprava dokončených návratových objednávek" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" -msgstr "" +msgstr "Umožnit úpravu návratových objednávek po jejich dokončení" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" -msgstr "" +msgstr "Referenční vzor prodejní objednávky" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" -msgstr "" +msgstr "Požadovaný vzor pro generování referenčního pole prodejní objednávky" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" -msgstr "" +msgstr "Výchozí přeprava prodejní objednávky" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" -msgstr "" +msgstr "Povolit vytvoření výchozí přepravy s prodejními objednávkami" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" -msgstr "" +msgstr "Úprava dokončených prodejních objednávek" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" -msgstr "" +msgstr "Umožnit úpravy prodejních objednávek po jejich odeslání nebo dokončení" -#: common/models.py:1878 -#, fuzzy -#| msgid "A build order has been completed" +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" -msgstr "Příkaz k sestavení byl dokončen" +msgstr "Označit odeslané objednávky jako dokončené" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" -msgstr "" +msgstr "Prodejní objednávky označené jako odeslané se automaticky dokončí a obejdou stav „odesláno“" + +#: common/models.py:1855 +msgid "Purchase Order Reference Pattern" +msgstr "Referenční vzor nákupní objednávky" + +#: common/models.py:1857 +msgid "Required pattern for generating Purchase Order reference field" +msgstr "Požadovaný vzor pro generování referenčního pole nákupní objednávky" + +#: common/models.py:1869 +msgid "Edit Completed Purchase Orders" +msgstr "Úprava dokončených nákupních objednávek" + +#: common/models.py:1871 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "Umožnit úpravy nákupních objednávek po jejich odeslání nebo dokončení" + +#: common/models.py:1877 +msgid "Auto Complete Purchase Orders" +msgstr "Automatické dokončování nákupních objednávek" + +#: common/models.py:1879 +msgid "Automatically mark purchase orders as complete when all line items are received" +msgstr "Automaticky označit nákupní objednávky jako kompletní, jakmile jsou přijaty všechny řádkové položky" #: common/models.py:1886 -msgid "Purchase Order Reference Pattern" -msgstr "" - -#: common/models.py:1888 -msgid "Required pattern for generating Purchase Order reference field" -msgstr "" - -#: common/models.py:1900 -msgid "Edit Completed Purchase Orders" -msgstr "" - -#: common/models.py:1902 -msgid "Allow editing of purchase orders after they have been shipped or completed" -msgstr "" - -#: common/models.py:1908 -msgid "Auto Complete Purchase Orders" -msgstr "" - -#: common/models.py:1910 -msgid "Automatically mark purchase orders as complete when all line items are received" -msgstr "" - -#: common/models.py:1917 msgid "Enable password forgot" -msgstr "" +msgstr "Povolit pole zapomenutého hesla" + +#: common/models.py:1887 +msgid "Enable password forgot function on the login pages" +msgstr "Povolení funkce zapomenutého hesla na přihlašovacích stránkách" + +#: common/models.py:1892 +msgid "Enable registration" +msgstr "Povolit registrace" + +#: common/models.py:1893 +msgid "Enable self-registration for users on the login pages" +msgstr "Povolit samoregistraci uživatelů na přihlašovacích stránkách" + +#: common/models.py:1898 +msgid "Enable SSO" +msgstr "Povolit SSO" + +#: common/models.py:1899 +msgid "Enable SSO on the login pages" +msgstr "Povolit SSO na přihlašovacích stránkách" + +#: common/models.py:1904 +msgid "Enable SSO registration" +msgstr "Povolit SSO registraci" + +#: common/models.py:1906 +msgid "Enable self-registration via SSO for users on the login pages" +msgstr "Povolit samoregistraci uživatelů prostřednictvím SSO na přihlašovacích stránkách" + +#: common/models.py:1912 +msgid "Email required" +msgstr "Vyžadován e-mail" + +#: common/models.py:1913 +msgid "Require user to supply mail on signup" +msgstr "Požadovat, aby uživatel při registraci zadal e-mail" #: common/models.py:1918 -msgid "Enable password forgot function on the login pages" -msgstr "" - -#: common/models.py:1923 -msgid "Enable registration" -msgstr "" - -#: common/models.py:1924 -msgid "Enable self-registration for users on the login pages" -msgstr "" - -#: common/models.py:1929 -msgid "Enable SSO" -msgstr "" - -#: common/models.py:1930 -msgid "Enable SSO on the login pages" -msgstr "" - -#: common/models.py:1935 -msgid "Enable SSO registration" -msgstr "" - -#: common/models.py:1937 -msgid "Enable self-registration via SSO for users on the login pages" -msgstr "" - -#: common/models.py:1943 -msgid "Email required" -msgstr "" - -#: common/models.py:1944 -msgid "Require user to supply mail on signup" -msgstr "" - -#: common/models.py:1949 msgid "Auto-fill SSO users" -msgstr "" +msgstr "Automaticky vyplnit SSO uživatele" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" -msgstr "" +msgstr "Automaticky vyplnit údaje o uživateli z údajů o účtu SSO" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" -msgstr "" +msgstr "Mail dvakrát" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" -msgstr "" +msgstr "Při registraci dvakrát požádat uživatele o zadání e-mailu" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" -msgstr "" +msgstr "Heslo dvakrát" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" -msgstr "" +msgstr "Při registraci dvakrát požádat uživatele o heslo" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" -msgstr "" +msgstr "Povolené domény" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" -msgstr "" +msgstr "Omezit registraci na určité domény (oddělené čárkou a začínající @)" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" -msgstr "" +msgstr "Skupina při registraci" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" -msgstr "" +msgstr "Skupina, ke které jsou přiděleni noví uživatelé při registraci" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" -msgstr "" +msgstr "Vynutit MFA" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" -msgstr "" +msgstr "Zobrazit neaktuální zásoby" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" -msgstr "" +msgstr "Zobrazit neaktuální skladové položky na domovské stránce" + +#: common/models.py:2179 +msgid "Show pending builds" +msgstr "Zobrazit nevyřízené sestavy" + +#: common/models.py:2180 +msgid "Show pending builds on the homepage" +msgstr "Zobrazit nevyřízené sestavy na domovské stránce" + +#: common/models.py:2185 +msgid "Show overdue builds" +msgstr "Zobrazit sestavy po splatnosti" + +#: common/models.py:2186 +msgid "Show overdue builds on the homepage" +msgstr "Zobrazit sestavy po splatnosti na domovské stránce" + +#: common/models.py:2191 +msgid "Show outstanding POs" +msgstr "Zobrazit nevyřízené PO" + +#: common/models.py:2192 +msgid "Show outstanding POs on the homepage" +msgstr "Zobrazit nevyřízené PO na domovské stránce" + +#: common/models.py:2197 +msgid "Show overdue POs" +msgstr "Zobrazit PO po splatnosti" + +#: common/models.py:2198 +msgid "Show overdue POs on the homepage" +msgstr "Zobrazit PO po splatnosti na domovské stránce" + +#: common/models.py:2203 +msgid "Show outstanding SOs" +msgstr "Zobrazit nevyřízené SO" + +#: common/models.py:2204 +msgid "Show outstanding SOs on the homepage" +msgstr "Zobrazit nevyřízené SO na domovské stránce" + +#: common/models.py:2209 +msgid "Show overdue SOs" +msgstr "Zobrazit SO po splatnosti" #: common/models.py:2210 -msgid "Show pending builds" -msgstr "" +msgid "Show overdue SOs on the homepage" +msgstr "Zobrazit SO po splatnosti na domovské stránce" -#: common/models.py:2211 -msgid "Show pending builds on the homepage" -msgstr "" +#: common/models.py:2215 +msgid "Show pending SO shipments" +msgstr "Zobrazit čekající zásilky SO" #: common/models.py:2216 -msgid "Show overdue builds" -msgstr "" +msgid "Show pending SO shipments on the homepage" +msgstr "Zobrazit čekající zásilky SO na domovské stránce" -#: common/models.py:2217 -msgid "Show overdue builds on the homepage" -msgstr "" +#: common/models.py:2221 +msgid "Show News" +msgstr "Zobrazit novinky" #: common/models.py:2222 -msgid "Show outstanding POs" -msgstr "" +msgid "Show news on the homepage" +msgstr "Zobrazit novinky na domovské stránce" -#: common/models.py:2223 -msgid "Show outstanding POs on the homepage" -msgstr "" - -#: common/models.py:2228 -msgid "Show overdue POs" -msgstr "" +#: common/models.py:2227 +msgid "Inline label display" +msgstr "Zobrazení štítků na řádku" #: common/models.py:2229 -msgid "Show overdue POs on the homepage" -msgstr "" - -#: common/models.py:2234 -msgid "Show outstanding SOs" -msgstr "" +msgid "Display PDF labels in the browser, instead of downloading as a file" +msgstr "Zobrazit štítky PDF v prohlížeči namísto stahování jako soubor" #: common/models.py:2235 -msgid "Show outstanding SOs on the homepage" -msgstr "" +msgid "Default label printer" +msgstr "Výchozí tiskárna štítků" -#: common/models.py:2240 -msgid "Show overdue SOs" -msgstr "" +#: common/models.py:2237 +msgid "Configure which label printer should be selected by default" +msgstr "Konfigurovat tiskárnu štítků, která má být vybrána jako výchozí" -#: common/models.py:2241 -msgid "Show overdue SOs on the homepage" -msgstr "" +#: common/models.py:2243 +msgid "Inline report display" +msgstr "Zobrazení reportů na řádku" -#: common/models.py:2246 -msgid "Show pending SO shipments" -msgstr "" +#: common/models.py:2245 +msgid "Display PDF reports in the browser, instead of downloading as a file" +msgstr "Zobrazit reporty PDF v prohlížeči namísto stahování jako soubor" -#: common/models.py:2247 -msgid "Show pending SO shipments on the homepage" -msgstr "" +#: common/models.py:2251 +msgid "Search Parts" +msgstr "Hledat díly" #: common/models.py:2252 -msgid "Show News" -msgstr "" +msgid "Display parts in search preview window" +msgstr "Zobrazit díly v náhledu hledání" -#: common/models.py:2253 -msgid "Show news on the homepage" -msgstr "" +#: common/models.py:2257 +msgid "Search Supplier Parts" +msgstr "Hledat díly dodavatele" #: common/models.py:2258 -msgid "Inline label display" -msgstr "" +msgid "Display supplier parts in search preview window" +msgstr "Zobrazit díly dodavatele v náhledu hledání" -#: common/models.py:2260 -msgid "Display PDF labels in the browser, instead of downloading as a file" -msgstr "" +#: common/models.py:2263 +msgid "Search Manufacturer Parts" +msgstr "Vyhledávání dílů výrobce" -#: common/models.py:2266 -msgid "Default label printer" -msgstr "" +#: common/models.py:2264 +msgid "Display manufacturer parts in search preview window" +msgstr "Zobrazit díly výrobce v náhledu hledání" -#: common/models.py:2268 -msgid "Configure which label printer should be selected by default" -msgstr "" +#: common/models.py:2269 +msgid "Hide Inactive Parts" +msgstr "Skrýt neaktivní díly" -#: common/models.py:2274 -msgid "Inline report display" -msgstr "" +#: common/models.py:2270 +msgid "Excluded inactive parts from search preview window" +msgstr "Vyloučené neaktivní části z okna náhledu vyhledávání" + +#: common/models.py:2275 +msgid "Search Categories" +msgstr "Hledat kategorie" #: common/models.py:2276 -msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "" +msgid "Display part categories in search preview window" +msgstr "Zobrazit kategorie dílů v náhledu hledání" + +#: common/models.py:2281 +msgid "Search Stock" +msgstr "Hledat zásoby" #: common/models.py:2282 -msgid "Search Parts" -msgstr "" +msgid "Display stock items in search preview window" +msgstr "Zobrazit skladové položky v náhledu hledání" -#: common/models.py:2283 -msgid "Display parts in search preview window" -msgstr "" - -#: common/models.py:2288 -msgid "Search Supplier Parts" -msgstr "" +#: common/models.py:2287 +msgid "Hide Unavailable Stock Items" +msgstr "Skrýt nedostupné skladové položky" #: common/models.py:2289 -msgid "Display supplier parts in search preview window" -msgstr "" - -#: common/models.py:2294 -msgid "Search Manufacturer Parts" -msgstr "" +msgid "Exclude stock items which are not available from the search preview window" +msgstr "Vyloučit skladové položky, které nejsou dostupné z okna náhledu hledání" #: common/models.py:2295 -msgid "Display manufacturer parts in search preview window" -msgstr "" +msgid "Search Locations" +msgstr "Hledat umístění" -#: common/models.py:2300 -msgid "Hide Inactive Parts" -msgstr "" +#: common/models.py:2296 +msgid "Display stock locations in search preview window" +msgstr "Zobrazit skladová umístění v náhledu hledání" #: common/models.py:2301 -msgid "Excluded inactive parts from search preview window" -msgstr "" +msgid "Search Companies" +msgstr "Hledat společnosti" -#: common/models.py:2306 -msgid "Search Categories" -msgstr "" +#: common/models.py:2302 +msgid "Display companies in search preview window" +msgstr "Zobrazit společnosti v náhledu hledání" #: common/models.py:2307 -msgid "Display part categories in search preview window" -msgstr "" +msgid "Search Build Orders" +msgstr "Hledat objednávky sestav" -#: common/models.py:2312 -msgid "Search Stock" -msgstr "" +#: common/models.py:2308 +msgid "Display build orders in search preview window" +msgstr "Zobrazit objednávky sestav v náhledu hledání" #: common/models.py:2313 -msgid "Display stock items in search preview window" -msgstr "" +msgid "Search Purchase Orders" +msgstr "Hledat nákupní objednávky" -#: common/models.py:2318 -msgid "Hide Unavailable Stock Items" -msgstr "" +#: common/models.py:2314 +msgid "Display purchase orders in search preview window" +msgstr "Zobrazit nákupní objednávky v náhledu hledání" -#: common/models.py:2320 -msgid "Exclude stock items which are not available from the search preview window" -msgstr "" +#: common/models.py:2319 +msgid "Exclude Inactive Purchase Orders" +msgstr "Vyloučit neaktivní nákupní objednávky" -#: common/models.py:2326 -msgid "Search Locations" -msgstr "" +#: common/models.py:2321 +msgid "Exclude inactive purchase orders from search preview window" +msgstr "Vyloučit neaktivní nákupní objednávky z okna náhledu vyhledávání" #: common/models.py:2327 -msgid "Display stock locations in search preview window" -msgstr "" +msgid "Search Sales Orders" +msgstr "Hledat prodejní objednávky" -#: common/models.py:2332 -msgid "Search Companies" -msgstr "" +#: common/models.py:2328 +msgid "Display sales orders in search preview window" +msgstr "Zobrazit prodejní objednávky v náhledu hledání" #: common/models.py:2333 -msgid "Display companies in search preview window" -msgstr "" - -#: common/models.py:2338 -msgid "Search Build Orders" -msgstr "" - -#: common/models.py:2339 -msgid "Display build orders in search preview window" -msgstr "" - -#: common/models.py:2344 -msgid "Search Purchase Orders" -msgstr "" - -#: common/models.py:2345 -msgid "Display purchase orders in search preview window" -msgstr "" - -#: common/models.py:2350 -msgid "Exclude Inactive Purchase Orders" -msgstr "" - -#: common/models.py:2352 -msgid "Exclude inactive purchase orders from search preview window" -msgstr "" - -#: common/models.py:2358 -msgid "Search Sales Orders" -msgstr "" - -#: common/models.py:2359 -msgid "Display sales orders in search preview window" -msgstr "" - -#: common/models.py:2364 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "Formát data" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3436,24 +3445,24 @@ msgstr "" msgid "Price" msgstr "Cena" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3464,101 +3473,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3568,31 +3577,39 @@ msgstr "" msgid "Image" msgstr "Obrazek" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3690,6 +3707,23 @@ msgstr "" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "" + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3920,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Základní díl" @@ -3931,7 +3965,7 @@ msgstr "Zvolte díl" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3946,7 +3980,7 @@ msgid "Select manufacturer" msgstr "Vyberte výrobce" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3991,7 +4025,7 @@ msgid "Parameter value" msgstr "Hodnota parametru" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4017,7 +4051,7 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4034,7 +4068,7 @@ msgstr "Dodavatel" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "" @@ -4055,26 +4089,26 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "Poznámka" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4099,7 +4133,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "" @@ -4119,11 +4153,11 @@ msgstr "" msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4196,7 +4230,7 @@ msgstr "Smazat obrázek" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4407,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4507,7 +4541,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4557,10 +4591,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4714,7 +4748,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4772,11 +4806,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4884,10 +4918,8 @@ msgid "shipped by" msgstr "" #: order/models.py:1027 -#, fuzzy -#| msgid "Build output is already completed" msgid "Order is already complete" -msgstr "Výstup sestavení je již dokončen" +msgstr "" #: order/models.py:1030 msgid "Order is already cancelled" @@ -4963,7 +4995,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5025,8 +5057,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" @@ -5074,7 +5106,7 @@ msgstr "" msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5148,7 +5180,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5157,163 +5189,163 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5739,34 +5771,34 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "ID dílu" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Název dílu" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "Popis dílu" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5775,11 +5807,11 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5791,11 +5823,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5808,12 +5840,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5831,8 +5863,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5855,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "IPN dílu" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5947,8 +5979,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5956,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5974,371 +6006,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Kategorie dílu" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Kategorie dílů" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "Výchozí umístění dílů v této kategorii" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Díly nesmějí být přímo zařazeny do strukturované kategorie, ale mohou být zařazeny jako podkategorie." -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "Výchozí klíčová slova pro díly v této kategorii" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "Název dílu" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "Kategorie dílu" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "Interní číslo dílu" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6350,686 +6382,686 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "ID dílu nebo název dílu" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "Jedinečná hodnota ID dílu" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "Hodnota IPN dílu" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "Vyberte nadřazený díl" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "Aktualizovat díly" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "Aktualizovat cenu pro díl" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -7255,15 +7287,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8312,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8328,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -8836,7 +8868,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8881,7 +8913,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" @@ -8893,7 +8925,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" @@ -8970,7 +9002,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" @@ -9002,7 +9034,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9126,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "" @@ -9448,7 +9480,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "" @@ -9468,11 +9500,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10203,20 +10235,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "" @@ -10709,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "" @@ -14338,3 +14370,4 @@ msgstr "Oprávnění k úpravě položek" #: users/models.py:413 msgid "Permission to delete items" msgstr "Oprávnění k odstranění položek" + diff --git a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po index 9938f22e73..132253163d 100644 --- a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:54\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -56,18 +56,18 @@ msgstr "Fejloplysninger kan findes i admin panelet" msgid "Enter date" msgstr "Angiv dato" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "Vedhæftning" msgid "Select file to attach" msgstr "Vælg fil, der skal vedhæftes" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "Vælg fil, der skal vedhæftes" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "Link til ekstern URL" @@ -440,10 +440,10 @@ msgstr "Kommentar" msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "" msgid "Invalid choice" msgstr "Ugyldigt valg" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "Navn" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "overordnet" msgid "Path" msgstr "Sti" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "Markdown noter (valgfri)" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "Stregkode Data" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "Tredjeparts stregkode data" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "Stregkode Hash" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "Unik hash af stregkode data" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "Eksisterende stregkode fundet" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "Serverfejl" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "En fejl blev logget af serveren." -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "Skal være et gyldigt tal" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "Vælg valuta fra tilgængelige muligheder" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "Du har ikke tilladelse til at ændre denne brugerrolle." -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "Kun superbrugere kan oprette nye brugere" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "Filnavn" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "Ugyldig værdi" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "Datafil" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "Vælg datafilen til upload" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "Filtype ikke understøttet" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "Filen er for stor" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "Ingen kolonner fundet i fil" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "Ingen datarækker fundet i fil" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "Ingen data-rækker angivet" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "Ingen data-kolonner angivet" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Mangler påkrævet kolonne: '{name}'" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplikeret kolonne: '{col}'" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "Eksternt billede" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "URL til ekstern billedfil" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "Download af billeder fra ekstern URL er ikke aktiveret" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "Kontrol af baggrundstjeneste mislykkedes" @@ -750,14 +750,14 @@ msgstr "Om InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Produktion skal anulleres, før den kan slettes" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Forbrugsvare" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "Sporet" msgid "Allocated" msgstr "Allokeret" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "Produktionsordre reference" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "Produktions Status" msgid "Build status code" msgstr "Produktions statuskode" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batch Kode" @@ -972,8 +972,8 @@ msgstr "Batch Kode" msgid "Batch code for this build output" msgstr "Batch kode til dette produktions output" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "Bruger som udstedte denne byggeordre" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "Bygge Prioritet" msgid "Priority of this build order" msgstr "Prioritet af denne byggeordre" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1109,10 +1109,10 @@ msgstr "" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "Accepter at lagervarer ikke er fuldt tildelt til denne byggeordre" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "Accepter ufuldført" @@ -1435,11 +1435,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "" @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "" @@ -1914,6 +1914,22 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "" - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1131 +2315,1129 @@ msgstr "" msgid "Template" msgstr "" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1878 -#, fuzzy -#| msgid "A build order has been completed" +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" -msgstr "En byggeordre er fuldført" +msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3436,24 +3445,24 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3464,101 +3473,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3568,31 +3577,39 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3690,6 +3707,23 @@ msgstr "" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "" + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3920,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -3931,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3946,7 +3980,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3991,7 +4025,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4017,7 +4051,7 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4034,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "" @@ -4055,26 +4089,26 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4099,7 +4133,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "" @@ -4119,11 +4153,11 @@ msgstr "" msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4196,7 +4230,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4407,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4507,7 +4541,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4557,10 +4591,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4714,7 +4748,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4772,11 +4806,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4961,7 +4995,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5023,8 +5057,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" @@ -5072,7 +5106,7 @@ msgstr "" msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5146,7 +5180,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5155,163 +5189,163 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5737,34 +5771,34 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5773,11 +5807,11 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5789,11 +5823,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5806,12 +5840,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5829,8 +5863,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5853,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5945,8 +5979,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5954,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5972,371 +6006,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6348,686 +6382,686 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -7253,15 +7287,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8310,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8326,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -8834,7 +8868,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8879,7 +8913,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" @@ -8891,7 +8925,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" @@ -8968,7 +9002,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" @@ -9000,7 +9034,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9124,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "" @@ -9446,7 +9480,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "" @@ -9466,11 +9500,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10201,20 +10235,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "" @@ -10707,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "" @@ -14336,3 +14370,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po index 489cd55ac6..97528b368b 100644 --- a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:54\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -56,18 +56,18 @@ msgstr "Fehlerdetails finden Sie im Admin-Panel" msgid "Enter date" msgstr "Datum eingeben" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "Anhang" msgid "Select file to attach" msgstr "Datei zum Anhängen auswählen" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "Datei zum Anhängen auswählen" msgid "Link" msgstr "Link" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "Link zu einer externen URL" @@ -440,10 +440,10 @@ msgstr "Kommentar" msgid "File comment" msgstr "Datei-Kommentar" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "Doppelte Namen können nicht unter dem selben Elternteil existieren" msgid "Invalid choice" msgstr "Ungültige Auswahl" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "Name" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "Eltern" msgid "Path" msgstr "Pfad" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "Markdown Notizen (optional)" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "Barcode-Daten" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "Drittanbieter-Barcode-Daten" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "Barcode-Hash" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "Eindeutiger Hash der Barcode-Daten" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "Bestehender Barcode gefunden" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "Serverfehler" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "Ein Fehler wurde vom Server protokolliert." -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Währung" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "Währung aus verfügbaren Optionen auswählen" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "Sie haben keine Berechtigung, diese Benutzerrolle zu ändern." -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "Nur Superuser können neue Benutzer erstellen" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "Ihr Konto wurde erstellt." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "Bitte benutzen Sie die Passwort-zurücksetzen-Funktion, um sich anzumelden" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "Willkommen bei InvenTree" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "Dateiname" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "Ungültiger Wert" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "Datendatei" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "Neue Datei zum Hochladen auswählen" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "Nicht unterstütztes Dateiformat" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "Datei ist zu groß" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "Keine Spalten in der Datei gefunden" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "Keine Datensätze in der Datei gefunden" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "Keine Zeilen ausgewählt" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "Keine Spalten angegeben" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Erforderliche Spalte '{name}' fehlt" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Doppelte Spalte: '{col}'" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "Grafiken aus externen Quellen" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "URL der Remote-Bilddatei" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "Das Herunterladen von Bildern von Remote-URLs ist nicht aktiviert" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "Hintergrund-Prozess-Kontrolle fehlgeschlagen" @@ -750,14 +750,14 @@ msgstr "Über InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Verbrauchsmaterial" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "Nachverfolgt" msgid "Allocated" msgstr "Zugeordnet" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "Bauauftragsreferenz" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "Bauauftrags-Status" msgid "Build status code" msgstr "Bau-Statuscode" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Losnummer" @@ -972,8 +972,8 @@ msgstr "Losnummer" msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "Nutzer der diesen Bauauftrag erstellt hat" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "Bauauftrags-Priorität" msgid "Priority of this build order" msgstr "Priorität dieses Bauauftrags" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" @@ -1109,10 +1109,10 @@ msgstr "Objekt bauen" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "Objekt bauen" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" msgid "Selected stock item does not match BOM line" msgstr "Ausgewählter Lagerbestand stimmt nicht mit BOM-Linie überein" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "Ganzzahl für verfolgbare Teile erforderlich" 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:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Seriennummer" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "Seriennummer für dieses Endprodukt eingeben" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "Lagerort für fertige Endprodukte" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "Akzeptieren, dass Lagerartikel diesem Bauauftrag nicht vollständig zuge msgid "Required stock has not been fully allocated" msgstr "Benötigter Bestand wurde nicht vollständig zugewiesen" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "Unvollständig Zuweisung akzeptieren" @@ -1435,11 +1435,11 @@ msgstr "Bauauftragspositionsartikel" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part muss auf dasselbe Teil verweisen wie der Bauauftrag" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "Teil muss auf Lager sein" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Verfügbare Menge ({q}) überschritten" @@ -1452,7 +1452,7 @@ msgstr "Für Zuweisung von verfolgten Teilen muss ein Endprodukt angegeben sein" 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:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "Zuweisungen müssen angegeben werden" @@ -1496,7 +1496,7 @@ msgstr "Optionale Stücklisten-Positionen dem Bauauftrag hinzufügen" msgid "Failed to start auto-allocation task" msgstr "Fehler beim Starten der automatischen Zuweisung" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "Stücklisten-Position" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "Zugewiesener Bestand" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "Zugewiesener Bestand" msgid "On Order" msgstr "Bestellt" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "In Produktion" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "Anhänge" msgid "Build Notes" msgstr "Bauauftrags-Notizen" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "Zuordnung abgeschlossen" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "Alle Zeilen wurden vollständig zugewiesen" @@ -1914,6 +1914,22 @@ msgstr "Bauauftragdetails" msgid "Incomplete Outputs" msgstr "Unfertige Endprodukte" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "Kein Plugin" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "{name.title()} Datei" msgid "Select {name} file to upload" msgstr "{name} Datei zum Hochladen auswählen" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "Aktualisiert" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "Zeitstempel der letzten Aktualisierung" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "Seiten-URL ist durch die Konfiguration gesperrt" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "Eindeutiger Projektcode" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "Projektbeschreibung" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "Benutzer oder Gruppe verantwortlich für dieses Projekt" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "Einstellungs-Wert" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "Wert ist keine gültige Option" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "Wahrheitswert erforderlich" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "Nur Ganzzahl eingeben" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "Schlüsseltext muss eindeutig sein" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "Keine Gruppe" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "Eine leere Domain ist nicht erlaubt." - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "Ungültiger Domainname: {domain}" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "Kein Plugin" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "Neustart erforderlich" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "Eine Einstellung wurde geändert, die einen Neustart des Servers erfordert" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "Ausstehende Migrationen" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "Anzahl der ausstehenden Datenbankmigrationen" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "Name der Serverinstanz" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "Kurze Beschreibung der Instanz" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "Name der Instanz verwenden" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "Den Namen der Instanz in der Titelleiste verwenden" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "Anzeige von `Über` einschränken" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "Zeige das `Über` Fenster nur Administratoren" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "Firmenname" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "interner Firmenname" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "Basis-URL" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "Basis-URL für dieses Instanz" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "Standardwährung" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "Wählen Sie die Basiswährung für Preisberechnungen aus" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "Währungsaktualisierungsintervall" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Wie oft Wechselkurse aktualisiert werden sollen (auf Null zum Deaktivieren setzen)" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "Tage" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "Währungs-Aktualisierungs-Plugin" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "Zu verwendendes Währungs-Aktualisierungs-Plugin" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "Von URL herunterladen" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "Herunterladen von externen Bildern und Dateien von URLs erlaubt" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "Download-Größenlimit" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "Maximal zulässige Größe für heruntergeladene Bilder" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "Benutzer-Agent zum Herunterladen von Daten" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Überschreiben des Benutzer-Agenten, der verwendet wird, um Bilder und Dateien von externer Servern herunterzuladen (leer für die Standardeinstellung)" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "Strenge URL-Prüfung" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "Erfordert die Schema-Spezifikation bei der Validierung von URLs" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "Bestätigung verpflichtend" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "Eine ausdrückliche Benutzerbestätigung für bestimmte Aktionen erfordern." -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "Baumtiefe" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Standard Ebene für Baumansicht. Tiefere Ebenen können bei Bedarf nachgeladen werden." -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "Prüfungsintervall aktualisieren" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "Wie oft soll nach Updates gesucht werden? (auf 0 setzen zum Deaktivieren)" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "Automatische Sicherung" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "Automatische Sicherung der Datenbank- und Mediendateien aktivieren" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "Intervall für automatische Sicherung" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "Anzahl der Tage zwischen automatischen Sicherungen" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "Aufgabenlöschinterval" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "Ergebnisse der Hintergrundaufgabe werden nach der angegebenen Anzahl von Tagen gelöscht" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "Löschintervall für Fehlerprotokolle" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "Fehlerprotokolle werden nach der angegebenen Anzahl von Tagen gelöscht" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "Löschintervall für Benachrichtigungen" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "Benutzerbenachrichtigungen werden nach der angegebenen Anzahl von Tagen gelöscht" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Bacode-Feature verwenden" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "Barcode-Scanner Unterstützung im Webinterface aktivieren" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "Barcode-Eingabeverzögerung" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "Verzögerungszeit bei Barcode-Eingabe" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "Barcode Webcam-Unterstützung" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "Barcode-Scannen über Webcam im Browser erlauben" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "Artikelrevisionen" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "Revisions-Feld für Artikel aktivieren" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "IPN Regex" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "RegEx Muster für die Zuordnung von Teil-IPN" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "Ändern von IPN erlaubt" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "Ändern der IPN während des Bearbeiten eines Teils erlaubt" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "Teil-Stückliste kopieren" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "Stückliste von Teil kopieren wenn das Teil dupliziert wird " -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "Teil-Parameter kopieren" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "Parameter-Daten für dieses Teil kopieren wenn das Teil dupliziert wird" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "Teil-Testdaten kopieren" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "Test-Daten für dieses Teil kopieren wenn das Teil dupliziert wird" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "Kategorie-Parametervorlage kopieren" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1131 +2315,1129 @@ msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" msgid "Template" msgstr "Vorlage" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "Teile sind standardmäßig Vorlagen" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Baugruppe" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Komponente" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "Teile können standardmäßig in Baugruppen benutzt werden" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "Kaufbar" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "Artikel sind grundsätzlich kaufbar" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Verkäuflich" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "Artikel sind grundsätzlich verkaufbar" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Nachverfolgbar" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "Artikel sind grundsätzlich verfolgbar" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Virtuell" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "Teile sind grundsätzlich virtuell" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "Import in Ansichten anzeigen" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "Importassistent in einigen Teil-Ansichten anzeigen" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "Verwandte Teile anzeigen" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "Verwandte Teile eines Teils anzeigen" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "Initialer Lagerbestand" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "Erstellen von Lagerbestand beim Hinzufügen eines neuen Teils erlauben" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Initiale Lieferantendaten" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Erstellen von Lieferantendaten beim Hinzufügen eines neuen Teils erlauben" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "Anzeigeformat für Teilenamen" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "Format für den Namen eines Teiles" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "Standardsymbol der Teilkategorie" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "Standardsymbol der Teilkategorie (leer bedeutet kein Symbol)" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "Parameter Einheiten durchsetzen" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "Wenn Einheiten angegeben werden, müssen die Parameterwerte mit den angegebenen Einheiten übereinstimmen" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "Dezimalstellen für minimalen Preis" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Mindestanzahl der Dezimalstellen bei der Darstellung der Preisdaten" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "Dezimalstellen für maximalen Preis" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Maximale Anzahl der Dezimalstellen bei der Darstellung der Preisdaten" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "Zulieferer-Preise verwenden" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Lieferanten-Staffelpreise in die Gesamt-Preisberechnungen einbeziehen" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "Kaufverlauf überschreiben" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historische Bestellungspreise überschreiben die Lieferanten-Staffelpreise" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "Lagerartikel-Preis verwenden" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Preise aus manuell eingegebenen Lagerdaten für Preisberechnungen verwenden" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "Lagerartikelpreis Alter" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Lagerartikel, die älter als diese Anzahl an Tagen sind, von der Preisberechnung ausschließen" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "Variantenpreise verwenden" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "Variantenpreise in die Gesamt-Preisberechnungen einbeziehen" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "Nur aktive Varianten" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "Nur aktive Variantenteile zur Berechnung der Variantenbepreisung verwenden" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "Intervall für Neuberechnung von Preisen" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "Anzahl der Tage bis die Teile-Preisberechnungen automatisch aktualisiert werden" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "Interne Preise" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "Interne Preise für Teile aktivieren" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "Interne Preisüberschreibung" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "Falls verfügbar, überschreiben interne Preise Preispannenberechnungen" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "Labeldruck aktivieren" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "Labeldruck über die Website aktivieren" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "Label Bild DPI" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "DPI-Auflösung bei der Erstellung von Bilddateien für Etikettendruck-Plugins" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "Berichte aktivieren" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "Berichterstellung aktivieren" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "Entwickler-Modus" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "Berichte im Entwickler-Modus generieren (als HTML)" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "Berichtsfehler protokollieren" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "Fehler, die beim Erstellen von Berichten auftreten, protokollieren" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "Seitengröße" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "Standardseitenformat für PDF-Bericht" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "Testberichte aktivieren" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "Erstellung von Test-Berichten aktivieren" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "Testberichte anhängen" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Beim Drucken eines Testberichts dem zugehörigen Lagerbestand eine Kopie des Testberichts beifügen" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "Global einzigartige Seriennummern" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "Seriennummern für Lagerartikel müssen global eindeutig sein" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "Seriennummern automatisch ausfüllen" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "Seriennummern in Formularen automatisch ausfüllen" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "Erschöpften Lagerartikel löschen" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "Legt das Standardverhalten fest, wenn ein Lagerartikel aufgebraucht ist" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "Losnummer Vorlage" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "Vorlage für die Generierung von Standard-Losnummern für Lagerbestände" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "Bestands-Ablauf" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "Ablaufen von Bestand ermöglichen" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "Abgelaufenen Bestand verkaufen" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "Verkauf von abgelaufenem Bestand erlaubt" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "Bestands-Stehzeit" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "Anzahl an Tagen, an denen Bestand als abgestanden markiert wird, bevor sie ablaufen" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "Abgelaufenen Bestand verbauen" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "Verbauen von abgelaufenen Bestand erlaubt" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "Bestands-Eigentümerkontrolle" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "Standardsymbol für Lagerort" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "Standardsymbol für Lagerstandort (leer bedeutet kein Symbol)" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "Zeige installierte Lagerartikel" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "Anzeige der installierten Lagerartikel in Bestandstabellen" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "Prüfe BOM bei der Installation von Elementen" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Installierte Lagerbestandteile müssen im BOM für den übergeordneten Teil vorhanden sein" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "Erlaube Verschieben von \"nicht auf Lager\" Bestand" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Lagerartikel, die nicht auf Lager sind, können zwischen Lagerstandorten übertragen werden" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "Bauauftragsreferenz-Muster" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Bauaufträge" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "Verantwortlicher Besitzer erforderlich" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "Jeder Bestellung muss ein verantwortlicher Besitzer zugewiesen werden" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "Blockieren bis Test bestanden" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Verhindert die Fertigstellung bis alle erforderlichen Tests bestanden sind" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "Rücksendungen aktivieren" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "Aktivieren der Rücksendung-Funktion in der Benutzeroberfläche" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "Referenz Muster für Rücksendungen" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Rücksendungen" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "Abgeschlossene Rücksendungen bearbeiten" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "Bearbeitung von Rücksendungen nach Abschluss erlauben" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "Auftragsreferenz-Muster" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Aufträge" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "Auftrag Standardsendung" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "Erstelle eine Standardsendung für Aufträge" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "Abgeschlossene Aufträge bearbeiten" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Bearbeitung von Aufträgen nach Versand oder Abschluss erlauben" -#: common/models.py:1878 -#, fuzzy -#| msgid "Mark this order as complete?" +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" -msgstr "Diese Bestellung als vollständig markieren?" +msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "Bestellungsreferenz-Muster" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Bestellungen" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "Abgeschlossene Einkaufsaufträge bearbeiten" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Bearbeitung von Einkaufsaufträgen nach Versand oder Abschluss erlauben" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "Bestellungen automatisch abschließen" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Bestellung automatisch als abgeschlossen markieren, wenn der Empfang aller Artikel bestätigt wurde" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "Passwort vergessen aktivieren" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "Passwort-vergessen-Funktion auf den Anmeldeseiten aktivieren" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "Registrierung erlauben" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "Selbstregistrierung für Benutzer auf den Anmeldeseiten aktivieren" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "SSO aktivieren" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "SSO auf den Anmeldeseiten aktivieren" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "SSO Selbstregistrierung aktivieren" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Selbstregistrierung über SSO für Benutzer auf den Anmeldeseiten aktivieren" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "Email-Adresse erforderlich" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "Benutzer müssen bei der Registrierung eine E-Mail angeben" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "SSO-Benutzer automatisch ausfüllen" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "Benutzer-Details automatisch aus SSO-Konto ausfüllen" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "E-Mail zweimal" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "Bei der Registrierung den Benutzer zweimal nach der E-Mail-Adresse fragen" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "Passwort zweimal" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "Bei der Registrierung den Benutzer zweimal nach dem Passwort fragen" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "Erlaubte Domains" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Anmeldung auf bestimmte Domänen beschränken (kommagetrennt, beginnend mit @)" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "Gruppe bei Registrierung" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "Gruppe der neue Benutzer bei der Registrierung zugewiesen werden" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "MFA erzwingen" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "Benutzer müssen Multifaktor-Authentifizierung verwenden." -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "Plugins beim Start prüfen" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Beim Start überprüfen, ob alle Plugins installiert sind - Für Container aktivieren" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "Nach Plugin-Aktualisierungen suchen" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "Periodische Überprüfungen auf Updates für installierte Plugins aktivieren" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "URL-Integration aktivieren" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "Plugins zum Hinzufügen von URLs aktivieren" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "Navigations-Integration aktivieren" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "Plugins zur Integration in die Navigation aktivieren" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "App-Integration aktivieren" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "Plugins zum Hinzufügen von Apps aktivieren" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "Terminplan-Integration aktivieren" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "Geplante Aufgaben aktivieren" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "Ereignis-Integration aktivieren" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "Plugins ermöglichen auf interne Ereignisse zu reagieren" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "Projektcodes aktivieren" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "Aktiviere Projektcodes für die Verfolgung von Projekten" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "Inventurfunktionen" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Inventur-Funktionen zur Aufzeichnung von Lagerbeständen und zur Berechnung des Lagerwerts aktivieren" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "Externe Standorte ausschließen" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Lagerartikeln in externen Standorten in der Berechnungen zur Bestandsaufnahme ausschließen" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "Automatische Inventur-Periode" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Anzahl der Tage zwischen automatischen Bestandsaufnahmen (zum Deaktivieren auf Null setzen)" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "Löschintervall für Berichte" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Inventurberichte werden nach der angegebenen Anzahl von Tagen gelöscht" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "Vollständige Namen von Benutzern anzeigen" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "Vollständigen Namen von Benutzern anstatt Benutzername anzeigen" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "Teststation-Daten aktivieren" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "Teststation-Datenerfassung für Testergebnisse aktivieren" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Ausblenden inaktiver Teile in den auf der Startseite angezeigten Ergebnissen" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "Abonnierte Teile anzeigen" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "Zeige abonnierte Teile auf der Startseite" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "Abonnierte Kategorien anzeigen" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "Zeige abonnierte Teilkategorien auf der Startseite" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "Neueste Teile anzeigen" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "Zeige neueste Teile auf der Startseite" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "Zeige ungültige Stücklisten" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "Zeige Stücklisten, die noch nicht validiert sind, auf der Startseite" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "Neueste Bestandänderungen anzeigen" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "Niedrigen Bestand anzeigen" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "Zeige geringen Bestand auf der Startseite" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "Lerren Bestand anzeigen" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "Zeige aufgebrauchte Lagerartikel auf der Startseite" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "Benötigten Bestand anzeigen" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "Zeige Bestand für Bauaufträge auf der Startseite" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "Abgelaufenen Bestand anzeigen" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "Zeige abgelaufene Lagerbestände auf der Startseite" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "Alten Bestand anzeigen" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "Zeige überfällige Lagerartikel auf der Startseite" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "Ausstehende Bauaufträge anzeigen" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "Zeige ausstehende Bauaufträge auf der Startseite" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "Zeige überfällige Bauaufträge" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "Zeige überfällige Bauaufträge auf der Startseite" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "Ausstehende POs anzeigen" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "Zeige ausstehende POs auf der Startseite" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "Überfällige POs anzeigen" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "Zeige überfällige POs auf der Startseite" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "Ausstehende SOs anzeigen" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "Zeige ausstehende SOs auf der Startseite" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "Überfällige SOs anzeigen" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "Zeige überfällige SOs auf der Startseite" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "Ausstehende Versandaufträge anzeigen" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "Ausstehende Versandaufträge auf der Startseite anzeigen" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "Zeige Neuigkeiten" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "Neuigkeiten auf der Startseite anzeigen" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "Label inline anzeigen" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "PDF-Labels im Browser anzeigen, anstatt als Datei herunterzuladen" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "Standard-Etikettendrucker" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "Einen standardmäßig ausgewählten Etikettendrucker konfigurieren" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "Berichte inline anzeigen" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "PDF-Berichte im Browser anzeigen, anstatt als Datei herunterzuladen" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "Teile suchen" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "Teile in der Suchvorschau anzeigen" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "Zulieferteile durchsuchen" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "Zuliefererteile in der Suchvorschau anzeigen" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "Herstellerteile durchsuchen" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "Herstellerteile in der Suchvorschau anzeigen" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "Inaktive Teile in der Suchvorschau ausblenden" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "Kategorien durchsuchen" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "Teilekategorien in der Suchvorschau anzeigen" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "Bestand durchsuchen" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "Lagerartikel in Suchvorschau anzeigen" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "Nicht verfügbare Artikel ausblenden" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "Nicht verfügbare Lagerartikel aus der Suchvorschau ausschließen" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "Lagerorte durchsuchen" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "Lagerorte in Suchvorschau anzeigen" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "Firmen durchsuchen" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "Firmen in der Suchvorschau anzeigen" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "Bauaufträge durchsuchen" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "Bauaufträge in der Suchvorschau anzeigen" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "Bestellungen durchsuchen" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "Bestellungen in der Suchvorschau anzeigen" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktive Bestellungen ausblenden" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inaktive Bestellungen in der Suchvorschau ausblenden" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "Aufträge durchsuchen" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "Aufträge in der Suchvorschau anzeigen" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "Inaktive Aufträge ausblenden" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "Inaktive Aufträge in der Suchvorschau ausblenden" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "Suche nach Rücksendungen" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "Rücksendungen in der Suchvorschau anzeigen" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "Inaktive Rücksendungen ausblenden" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "Inaktive Rücksendungen in der Suchvorschau ausblenden" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "Anzahl Suchergebnisse" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "Anzahl der Ergebnisse, die in der Vorschau pro Sektion angezeigt werden sollen" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "Regex Suche" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "Reguläre Ausdrücke in Suchabfragen aktivieren" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "Ganzes Wort suchen" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "Suchabfragen liefern Ergebnisse für ganze Wortkombinationen" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "zeige Bestand in Eingabemasken" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "Esc-Taste schließt Formulare" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "Benutze die Esc-Taste, um Formulare zu schließen" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "Fixierter Navigationsleiste" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "Position der Navigationsleiste am oberen Bildschirmrand fixieren" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "Datumsformat" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "Bevorzugtes Format für die Anzeige von Daten" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Teilzeitplanung" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "Zeige Zeitplanung für Teile" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventur" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Zeigt Inventur-Informationen an (falls die Inventurfunktion aktiviert ist)" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "Zeichenkettenlänge in Tabellen" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "Maximale Länge für Zeichenketten, die in Tabellenansichten angezeigt werden" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "Standardvorlage für Teilebeschriftung" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "Die Teil-Etikettenvorlage, die automatisch ausgewählt werden soll" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "Lagerartikel-Standardvorlage" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "Die Lagerartikel-Etikettenvorlage soll automatisch ausgewählt werden" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "Standardetikettenvorlage für Lagerstandort" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "Die Lagerstandort-Etikettenvorlage, die automatisch ausgewählt werden soll" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "Standardetikettenvorlage für Bauauftragspositionen" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "Die Bauauftragspositionsetikettenvorlage welche automatisch ausgewählt werden soll" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "Fehlerberichte empfangen" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "Benachrichtigungen bei Systemfehlern erhalten" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "Zuletzt verwendete Druckmaschinen" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "Die zuletzt benutzten Druckmaschinen für einen Benutzer speichern" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3436,24 +3445,24 @@ msgstr "Preisstaffelungs Anzahl" msgid "Price" msgstr "Preis" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "Stückpreis für die angegebene Anzahl" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "Endpunkt" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "Endpunkt, an dem dieser Webhook empfangen wird" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "Name für diesen Webhook" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3464,101 +3473,101 @@ msgstr "Name für diesen Webhook" msgid "Active" msgstr "Aktiv" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "Ist dieser Webhook aktiv" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "Token" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "Token für Zugang" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "Geheimnis" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "Shared Secret für HMAC" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "Nachrichten-ID" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "Eindeutige Kennung für diese Nachricht" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "Host" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "Host von dem diese Nachricht empfangen wurde" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "Kopfzeile" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "Header dieser Nachricht" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "Body" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "Body dieser Nachricht" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "Endpunkt, über den diese Nachricht empfangen wurde" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "Bearbeitet" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "ID" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titel" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "Veröffentlicht" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Autor" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "Zusammenfassung" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "Gelesen" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "Wurde diese Nachricht gelesen?" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3568,31 +3577,39 @@ msgstr "Wurde diese Nachricht gelesen?" msgid "Image" msgstr "Bild" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "Bilddatei" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "Einheitsname muss eine gültige Kennung sein" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "Einheitsname" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Symbol" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "Optionales Einheitssymbol" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definition" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "Einheitsdefinition" @@ -3690,6 +3707,23 @@ msgstr "Schlüsselwort Parameter" msgid "Task keyword arguments" msgstr "Schlüsselwort Parameter für Aufgaben" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "Eine leere Domain ist nicht erlaubt." + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "Ungültiger Domainname: {domain}" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3920,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "Link zu Adressinformationen (extern)" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Basisteil" @@ -3931,7 +3965,7 @@ msgstr "Teil auswählen" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3946,7 +3980,7 @@ msgid "Select manufacturer" msgstr "Hersteller auswählen" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3991,7 +4025,7 @@ msgid "Parameter value" msgstr "Parameterwert" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4017,7 +4051,7 @@ msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4034,7 +4068,7 @@ msgstr "Zulieferer" msgid "Select supplier" msgstr "Zulieferer auswählen" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "Lagerbestandseinheit (SKU) des Zulieferers" @@ -4055,26 +4089,26 @@ msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "Notiz" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "Basiskosten" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4099,7 +4133,7 @@ msgstr "Packmenge" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Gesamtmenge, die in einer einzelnen Packung geliefert wird. Für Einzelstücke leer lassen." -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "Vielfache" @@ -4119,11 +4153,11 @@ msgstr "Verfügbarkeit aktualisiert" msgid "Date of last update of availability data" msgstr "Datum des letzten Updates der Verfügbarkeitsdaten" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "Standard-Währung für diesen Zulieferer" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4196,7 +4230,7 @@ msgstr "Bild löschen" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4407,7 +4441,7 @@ msgstr "Keine Herstellerdaten verfügbar" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4507,7 +4541,7 @@ msgid "No supplier information available" msgstr "Keine Lieferanteninformationen verfügbar" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4557,10 +4591,10 @@ msgid "Update Part Availability" msgstr "Verfügbarkeit der Teile aktualisieren" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4714,7 +4748,7 @@ msgstr "Konfigurationstyp" msgid "Total Price" msgstr "Gesamtpreis" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4772,11 +4806,11 @@ msgstr "Rücksendeauftrag" msgid "Total price for this order" msgstr "Gesamtpreis für diese Bestellung" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "Auftragswährung" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "Währung für diesen Auftrag (leer lassen, um Firmenstandard zu verwenden)" @@ -4884,16 +4918,12 @@ msgid "shipped by" msgstr "Versand von" #: order/models.py:1027 -#, fuzzy -#| msgid "Build output is already completed" msgid "Order is already complete" -msgstr "Endprodukt bereits hergstellt" +msgstr "" #: order/models.py:1030 -#, fuzzy -#| msgid "Order cannot be cancelled" msgid "Order is already cancelled" -msgstr "Bestellung kann nicht verworfen werden" +msgstr "" #: order/models.py:1034 msgid "Only an open order can be marked as complete" @@ -4965,7 +4995,7 @@ msgstr "Empfangen" msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5027,8 +5057,8 @@ msgstr "Kontrolliert von" msgid "User who checked this shipment" msgstr "Benutzer, der diese Sendung kontrolliert hat" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Sendung" @@ -5076,7 +5106,7 @@ msgstr "Kann Lagerartikel keiner Zeile ohne Teil hinzufügen" msgid "Allocation quantity cannot exceed stock quantity" msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein" @@ -5150,7 +5180,7 @@ msgstr "Ergebnis für dieses Zeilenelement" msgid "Cost associated with return or repair for this line item" msgstr "Kosten für die Rückgabe oder Reparatur dieses Objektes" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5159,163 +5189,163 @@ msgstr "Kosten für die Rückgabe oder Reparatur dieses Objektes" msgid "Line Items" msgstr "Positionen" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "Abgeschlossene Positionen" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "Bestellung kann nicht verworfen werden" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "Erlaube das Schließen des Auftrags mit unvollständigen Positionen" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "Auftrag hat unvollständige Positionen" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "Der Auftrag ist nicht offen" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "Automatische Preisgestaltung" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Kaufpreis automatisch basierend auf Lieferantenbestandsdaten berechnen" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "Kaufpreiswährung" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "Elemente zusammenfügen" -#: order/serializers.py:481 +#: order/serializers.py:482 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:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "Zuliefererteil muss ausgewählt werden" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "Bestellung muss angegeben sein" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "Lieferant muss mit der Bestellung übereinstimmen" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "Die Bestellung muss mit dem Lieferant übereinstimmen" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "Position" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "Position stimmt nicht mit Kaufauftrag überein" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "Zielort für empfangene Teile auswählen" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "Losnummer für eingehende Lagerartikel" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "Seriennummern für eingehende Lagerartikel" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Barcode" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "Gescannter Barcode" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "Barcode ist bereits in Verwendung" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "Ganzzahl für verfolgbare Teile erforderlich" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "Positionen müssen angegeben werden" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "Ziel-Lagerort muss angegeben werden" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "Barcode muss eindeutig sein" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "Verkaufspreis-Währung" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "Keine Sendungsdetails angegeben" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "Position ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "Anzahl muss positiv sein" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "Seriennummern zum Zuweisen eingeben" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "Sendung wurde bereits versandt" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "Sendung ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "Folgende Serienummern konnten nicht gefunden werden" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "Folgende Seriennummern sind bereits zugewiesen" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "Artikel der Bestellzeile zurücksenden" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "Artikel entspricht nicht der Rücksendeschrift" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "Artikel wurde bereits erhalten" -#: order/serializers.py:1688 +#: order/serializers.py:1689 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:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "Verkaufspreis-Währung" @@ -5741,34 +5771,34 @@ msgstr "Stückpreis für {part} auf {price} aktualisiert" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} Stückpreis auf {price} und Menge auf {qty} aktualisiert" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "Teil-ID" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Name des Teils" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "Beschreibung des Teils" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "IPN (Interne Produktnummer)" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "Version" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Schlüsselwörter" @@ -5777,11 +5807,11 @@ msgstr "Schlüsselwörter" msgid "Part Image" msgstr "Artikelbild" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "Kategorie-ID" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "Kategoriename" @@ -5793,11 +5823,11 @@ msgstr "Standard-Standortnummer" msgid "Default Supplier ID" msgstr "Standard-Lieferantennummer" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variante von" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimaler Bestand" @@ -5810,12 +5840,12 @@ msgstr "Benutzt in" msgid "Building" msgstr "Im Bau" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "Minimale Kosten" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "Maximale Kosten" @@ -5833,8 +5863,8 @@ msgstr "Name des übergeordneten Teils" msgid "Category Path" msgstr "Pfad zur Kategorie" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5857,17 +5887,17 @@ msgstr "Stücklisten-Position ID" msgid "Parent IPN" msgstr "Übergeordnete IPN" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "Teil IPN" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Niedrigster Preis" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5949,8 +5979,8 @@ msgstr "Diese Option muss ausgewählt werden" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5958,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "Kategorie" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "Verwendet" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Standard-Lagerort" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Gesamtbestand" @@ -5976,371 +6006,371 @@ msgstr "Gesamtbestand" msgid "Input quantity for price calculation" msgstr "Menge für die Preisberechnung" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Teil-Kategorie" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Teil-Kategorien" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "Standard-Lagerort für Teile dieser Kategorie" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "Strukturell" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Teile können nicht direkt einer strukturellen Kategorie zugeordnet werden, können aber untergeordneten Kategorien zugeordnet werden." -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "Standard Stichwörter" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "Standard-Stichworte für Teile dieser Kategorie" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Symbol" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "Symbol (optional)" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Sie können diese Teilekategorie nicht als strukturell festlegen, da ihr bereits Teile zugewiesen sind!" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "Ungültige Auswahl für übergeordnetes Teil" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Teil '{self}' kann in der Stückliste nicht für '{parent}' (rekursiv) verwendet werden" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Teil '{parent}' wird in der Stückliste für '{self}' (rekursiv) verwendet" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN muss mit Regex-Muster {pattern} übereinstimmen" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "Ein Lagerartikel mit dieser Seriennummer existiert bereits" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "Teil mit diesem Namen, IPN und Revision existiert bereits." -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "Strukturellen Teilekategorien können keine Teile zugewiesen werden!" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "Name des Teils" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "Ist eine Vorlage" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "Ist dieses Teil eine Vorlage?" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "Ist dieses Teil eine Variante eines anderen Teils?" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "Artikelbeschreibung (optional)" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "Interne Teilenummer" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Standard Zulieferer" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "Standard Zuliefererteil" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "Standard Ablaufzeit" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "Ablauf-Zeit (in Tagen) für Bestand dieses Teils" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "Minimal zulässiger Bestand" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "Maßeinheit für diesen Teil" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "Hat dieses Teil Tracking für einzelne Objekte?" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "Kann dieses Teil an Kunden verkauft werden?" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "Ist dieses Teil aktiv?" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "Ist dieses Teil virtuell, wie zum Beispiel eine Software oder Lizenz?" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "Prüfsumme der Stückliste gespeichert" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "Stückliste kontrolliert von" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "BOM Kontrolldatum" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "Erstellungs-Nutzer" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "Verantwortlicher Besitzer für dieses Teil" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "Letzte Inventur" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "Mehrere verkaufen" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "Währung für die Berechnung der Preise im Cache" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "Minimale Stücklisten Kosten" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "Minimale Kosten für Teile" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "Maximale Stücklisten Kosten" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "Maximale Kosten für Teile" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "Minimale Einkaufskosten" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "Minimale historische Kaufkosten" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "Maximale Einkaufskosten" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "Maximale historische Einkaufskosten" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "Minimaler interner Preis" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "Minimale Kosten basierend auf den internen Staffelpreisen" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "Maximaler interner Preis" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "Maximale Kosten basierend auf internen Preisstaffeln" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "Minimaler Lieferantenpreis" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "Mindestpreis für Teil von externen Lieferanten" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "Maximaler Lieferantenpreis" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "Maximaler Preis für Teil von externen Lieferanten" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "Minimale Variantenkosten" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "Berechnete minimale Kosten für Variantenteile" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "Maximale Variantenkosten" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "Berechnete maximale Kosten für Variantenteile" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "Mindestkosten überschreiben" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "Maximale Kosten überschreiben" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "Berechnete Mindestkosten" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "Berechnete Maximalkosten" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "Mindestverkaufspreis" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "Mindestverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "Maximaler Verkaufspreis" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "Maximalverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "Mindestverkaufskosten" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "Minimaler historischer Verkaufspreis" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "Maximale Verkaufskosten" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "Maximaler historischer Verkaufspreis" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "Teil für die Inventur" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "Stückzahl" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "Anzahl einzelner Bestandseinträge zum Zeitpunkt der Inventur" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6352,686 +6382,686 @@ msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" msgid "Date" msgstr "Datum" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "Datum der Inventur" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "Zusätzliche Notizen" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "Benutzer, der diese Inventur durchgeführt hat" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "Mindestbestandswert" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "Geschätzter Mindestwert des vorhandenen Bestands" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "Maximaler Bestandswert" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "Geschätzter Maximalwert des vorhandenen Bestands" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Bericht" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "Inventur-Berichtsdatei (intern generiert)" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Anzahl der Teile" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "Anzahl der Teile, die von der Inventur abgedeckt werden" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "Benutzer, der diesen Inventurbericht angefordert hat" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Ungültiger Vorlagenname - es muss mindestens ein alphanumerisches Zeichen enthalten sein" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "Test-Vorlagen können nur für verfolgbare Teile angelegt werden" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "Testvorlage mit demselben Schlüssel existiert bereits für Teil" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "Test-Name" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "Namen für diesen Test eingeben" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "Testschlüssel" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "Vereinfachter Schlüssel zum Test" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "Test-Beschreibung" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Aktiviert" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "Ist dieser Test aktiviert?" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Benötigt" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "Erfordert Wert" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "Muss für diesen Test ein Wert für das Test-Ergebnis eingetragen werden?" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "Muss für diesen Test ein Anhang für das Test-Ergebnis hinzugefügt werden?" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "Checkbox-Parameter können keine Einheiten haben" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "Checkbox-Parameter können keine Auswahl haben" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "Auswahl muss einzigartig sein" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "Physikalische Einheiten für diesen Parameter" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "Parameter-Beschreibung" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "Checkbox" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "Ist dieser Parameter eine Checkbox?" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "Auswahlmöglichkeiten" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "Gültige Optionen für diesen Parameter (durch Kommas getrennt)" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "Ungültige Auswahl für Parameterwert" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "Ausgangsteil" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "Wert" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Standard-Wert" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "Teilnummer oder Teilname" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "Eindeutige Teil-ID" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "IPN-Wert des Teils" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "Stufe" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "Stücklistenebene" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Diese Stücklisten-Position ist ein Verbrauchsartikel (sie wird nicht in Bauaufträgen verfolgt)" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Überschuss" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "überprüft" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "Diese Stücklistenposition wurde validiert" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "Wird vererbt" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Diese Stücklisten-Position wird in die Stücklisten von Teil-Varianten vererbt" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Varianten zulassen" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Bestand von Varianten kann für diese Stücklisten-Position verwendet werden" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "Stücklisten Ersatzteile" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "Übergeordnete Stücklisten Position" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "Ersatzteil" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "Teil-Beziehung kann nicht zwischen einem Teil und sich selbst erstellt werden" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "Doppelte Beziehung existiert bereits" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Unter-Kategorien" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "Ergebnisse" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "Anzahl der Ergebnisse, die in dieser Vorlage aufgezeichnet wurden" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "Kaufwährung dieses Lagerartikels" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "Anzahl der Teile, die diese Vorlage verwenden" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "Keine Teile ausgewählt" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "Kategorie auswählen" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "Originalteil" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "Originalteil zum Duplizieren auswählen" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "Bild kopieren" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "Bild vom Originalteil kopieren" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Stückliste kopieren" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "Stückliste vom Originalteil kopieren" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "Parameter kopieren" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "Parameterdaten vom Originalteil kopieren" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "Anmerkungen kopieren" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "Notizen aus Originalteil kopieren" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "Start-Bestandsmenge" -#: part/serializers.py:490 +#: part/serializers.py:491 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:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "Initialer Lagerort" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "Lagerstandort für dieses Teil angeben" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "Lieferant auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "Hersteller auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "Hersteller-Teilenummer" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "Ausgewählte Firma ist kein gültiger Lieferant" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "Ausgewählte Firma ist kein gültiger Hersteller" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "Herstellerteil mit dieser MPN existiert bereits" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "Lieferantenteil mit dieser SKU existiert bereits" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "Externes Lager" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "Nicht zugewiesenes Lager" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "Alternatives Lager" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "Teil duplizieren" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "Initiale Daten von anderem Teil kopieren" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Initialer Lagerbestand" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "Erstelle Teil mit Ausgangsbestand" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "Lieferanteninformationen" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "Lieferanteninformationen zu diesem Teil hinzufügen" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "Kategorieparameter kopieren" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "Parametervorlagen aus der ausgewählten Teilkategorie kopieren" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "Vorhandenes Bild" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "Dateiname eines vorhandenen Teilbildes" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "Bilddatei existiert nicht" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Inventurbericht auf ein bestimmtes Teil und alle Variantenteile beschränken" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Inventurbericht auf eine bestimmte Teilekategorie und alle untergeordneten Kategorien beschränken" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Inventurbericht auf einen bestimmten Lagerort und alle untergeordneten Lagerorte beschränken" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "Externen Bestand ausschließen" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "Lagerartikel an externen Orten ausschließen" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "Bericht generieren" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "Erstelle Berichtsdatei mit berechneten Inventurdaten" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "Teile aktualisieren" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "Angegebene Teile mit berechneten Inventurdaten aktualisieren" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "Inventur-Funktionalität ist nicht aktiviert" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "Berechneten Wert für Mindestpreis überschreiben" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "Mindestpreis Währung" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "Berechneten Wert für maximalen Preis überschreiben" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "Maximalpreis Währung" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "Aktualisieren" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "Preis für dieses Teil aktualisieren" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, 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:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "Mindestpreis darf nicht größer als der Maximalpreis sein" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "Der Maximalpreis darf nicht kleiner als der Mindestpreis sein" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "Teil auswählen, von dem Stückliste kopiert wird" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "Bestehende Daten entfernen" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "Vererbtes einschließen" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "Stücklisten-Positionen einbeziehen, die von Vorlage-Teilen geerbt werden" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "Ungültige Zeilen überspringen" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "Aktiviere diese Option, um ungültige Zeilen zu überspringen" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "Ersatzteile kopieren" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "Bestehende Stückliste löschen" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "Bestehende Stücklisten-Positionen vor dem Importieren entfernen" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "Keine Teilspalte angegeben" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "Mehrere übereinstimmende Teile gefunden" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "Keine passenden Teile gefunden" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "Teil ist nicht als Komponente angelegt" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "Menge nicht angegeben" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "Ungültige Menge" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "Mindestens eine Stückliste-Position ist erforderlich" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "Gesamtstückzahl" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "Gesamt-Bestandswert min" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "Gesamt-Bestandswert max" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "Inventurbericht verfügbar" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "Ein neuer Inventurbericht steht zum Download zur Verfügung" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "Benachrichtigungen über geringen Bestand" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Der verfügbare Bestand für {part.name} ist unter das konfigurierte Mindestniveau gefallen" @@ -7257,15 +7287,15 @@ msgstr "Zulieferer" msgid "Part Manufacturers" msgstr "Teil-Hersteller" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "Verknüpftes Teil" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "Verknüpftes Teil hinzufügen" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "Testergebnis-Vorlage hinzufügen" @@ -8314,15 +8344,15 @@ msgstr "Konfiguration löschen" msgid "Delete the plugin configuration from the database" msgstr "Plugin-Konfiguration aus der Datenbank löschen" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "Keine korrekten Objekte für Vorlage gegeben" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8330,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "Teile" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "Fehler beim Drucken des Labels" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "Vorlagendatei '{template}' fehlt oder existiert nicht" @@ -8838,7 +8868,7 @@ msgstr "Sie können diesen Lagerort nicht als strukturell markieren, da sich ber msgid "Stock items cannot be located into structural stock locations!" msgstr "Lagerartikel können nicht in strukturelle Lagerorte abgelegt werden!" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "Für virtuelle Teile können keine Lagerartikel erstellt werden" @@ -8883,7 +8913,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:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "Verpackung, in der dieser Lagerartikel gelagert ist" @@ -8895,7 +8925,7 @@ msgstr "Ist dieses Teil in einem anderen verbaut?" msgid "Serial number for this item" msgstr "Seriennummer für dieses Teil" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "Losnummer für diesen Lagerartikel" @@ -8972,7 +9002,7 @@ msgstr "Seriennummern muss eine Liste von Ganzzahlen sein" msgid "Quantity does not match serial numbers" msgstr "Anzahl stimmt nicht mit den Seriennummern überein" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "Seriennummern existieren bereits" @@ -9004,7 +9034,7 @@ msgstr "Lagerartikel wird aktuell produziert" msgid "Serialized stock cannot be merged" msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "Artikel duplizeren" @@ -9128,176 +9158,176 @@ msgstr "Vorlagen-ID oder Testname muss angegeben werden" msgid "The test finished time cannot be earlier than the test started time" msgstr "Die Test-Endzeit kann nicht früher als die Startzeit des Tests sein" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "Seriennummer ist zu lang" -#: stock/serializers.py:411 +#: stock/serializers.py:414 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:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "Einkaufspreis dieses Lagerartikels, pro Einheit oder Verpackungseinheit" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "Anzahl der zu serialisierenden Lagerartikel eingeben" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, 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:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "Seriennummern für neue Teile eingeben" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "Ziel-Bestand" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "Optionales Notizfeld" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "Seriennummern können diesem Teil nicht zugewiesen werden" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "Lagerartikel für Installation auswählen" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "Zu installierende Menge" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "Anzahl der zu verwendenden Artikel eingeben" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr " Transaktionsnotizen hinzufügen (optional)" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "Die zu verwendende Menge muss mindestens 1 sein" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "Lagerartikel ist nicht verfügbar" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "Ausgewähltes Teil ist nicht in der Stückliste" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "Die zu verwendende Menge darf die verfügbare Menge nicht überschreiten" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "Ziel Lagerort für unverbautes Objekt" -#: stock/serializers.py:819 +#: stock/serializers.py:822 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:832 +#: stock/serializers.py:835 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:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Lagerartikel konnte nicht mit Zulieferteil zugewiesen werden" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "Ziel Lagerort für zurückgegebene Artikel" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "Lagerartikel auswählen, um den Status zu ändern" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "Keine Lagerartikel ausgewählt" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Unter-Lagerorte" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "Teil muss verkaufbar sein" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "Artikel ist einem Kundenauftrag zugeordnet" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "Artikel ist einem Fertigungsauftrag zugeordnet" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "Kunde zum Zuweisen von Lagerartikel" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "Ausgewählte Firma ist kein Kunde" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "Notizen zur Lagerzuordnung" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "Eine Liste der Lagerbestände muss angegeben werden" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "Notizen zur Lagerartikelzusammenführung" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "Unterschiedliche Lieferanten erlauben" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Lieferanten erlauben" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "Unterschiedliche Status erlauben" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Status-Codes erlauben" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "Mindestens zwei Lagerartikel müssen angegeben werden" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "Keine Änderung" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "Primärschlüssel Lagerelement" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "Lagerartikel Status-Code" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "Bestandsbewegungsnotizen" @@ -9450,7 +9480,7 @@ msgstr "Testdaten" msgid "Test Report" msgstr "Test-Bericht" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "Testdaten löschen" @@ -9470,11 +9500,11 @@ msgstr "Installierte Lagerartikel" msgid "Install Stock Item" msgstr "Lagerartikel installieren" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "Alle Testergebnisse für diesen Lagerartikel löschen" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "Testergebnis hinzufügen" @@ -10205,20 +10235,20 @@ msgstr "Bestellungs-Einstellungen" msgid "Pricing Settings" msgstr "Preiseinstellungen" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "Wechselkurse" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "Jetzt aktualisieren" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "Letzte Aktualisierung" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "Nie" @@ -10711,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "Fehlerbericht senden" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "In die Zwischenablage kopieren" @@ -14340,3 +14370,4 @@ msgstr "Berechtigungen Einträge zu ändern" #: users/models.py:413 msgid "Permission to delete items" msgstr "Berechtigung Einträge zu löschen" + diff --git a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po index 59c26e1611..39abebd773 100644 --- a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:54\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -56,18 +56,18 @@ msgstr "Μπορείτε να βρείτε λεπτομέρειες σφάλμα msgid "Enter date" msgstr "Εισάγετε ημερομηνία" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "Συνημμένο" msgid "Select file to attach" msgstr "Επιλέξτε αρχείο για επισύναψη" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "Επιλέξτε αρχείο για επισύναψη" msgid "Link" msgstr "Σύνδεσμος" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "Σύνδεσμος προς εξωτερική διεύθυνση URL" @@ -440,10 +440,10 @@ msgstr "Σχόλιο" msgid "File comment" msgstr "Σχόλιο αρχείου" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "Διπλότυπα ονόματα δεν μπορούν να υπάρχ msgid "Invalid choice" msgstr "Μη έγκυρη επιλογή" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "Όνομα" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "γονέας" msgid "Path" msgstr "Μονοπάτι" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "Σημειώσεις Markdown (προαιρετικό)" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "Στοιχεία Barcode" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "Δεδομένα barcode τρίτων" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "Μοναδικό hash δεδομένων barcode" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "Βρέθηκε υπάρχων barcode" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "Σφάλμα διακομιστή" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή." -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "Πρέπει να είναι αριθμός" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Νόμισμα" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "Επιλέξτε νόμισμα από τις διαθέσιμες επιλογές" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "Δεν έχετε άδεια να αλλάξετε αυτόν τον ρόλο χρήστη." -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "Μόνο υπερχρήστες (superusers) μπορούν να δημιουργήσουν νέους χρήστες" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "Ο λογαριασμός σας δημιουργήθηκε." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "Παρακαλούμε χρησιμοποιήστε τη λειτουργία επαναφοράς κωδικού πρόσβασης για να συνδεθείτε" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "Καλώς ήρθατε στο InvenTree" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "Όνομα αρχείου" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "Μη έγκυρη τιμή" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "Αρχείο Δεδομένων" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "Επιλέξτε ένα αρχείο για ανέβασμα" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "Μη υποστηριζόμενος τύπος αρχείου" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "Το αρχείο είναι πολύ μεγάλο" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "Δεν βρέθηκαν στήλες στο αρχείο" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "Δεν βρέθηκαν γραμμές δεδομένων στο αρχείο" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "Δεν παρασχέθηκαν σειρές δεδομένων" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "Δεν δόθηκαν στήλες δεδομένων" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Λείπει απαιτούμενη στήλη: '{name}'" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Διπλή στήλη: '{col}'" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "Απομακρυσμένες Εικόνες" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "Διεύθυνση URL του αρχείου απομακρυσμένης εικόνας" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "Η λήψη εικόνων από απομακρυσμένο URL δεν είναι ενεργοποιημένη" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "Ο έλεγχος εργασίας στο παρασκήνιο απέτυχε" @@ -750,14 +750,14 @@ msgstr "Σχετικά με το InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγραφεί" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Αναλώσιμο" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "Υπό παρακολούθηση" msgid "Allocated" msgstr "Κατανεμημένο" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "Αναφορά Παραγγελίας Κατασκευής" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "Κατάσταση Κατασκευής" msgid "Build status code" msgstr "Κωδικός κατάστασης κατασκευής" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Κωδικός Παρτίδας" @@ -972,8 +972,8 @@ msgstr "Κωδικός Παρτίδας" msgid "Batch code for this build output" msgstr "Κωδικός παρτίδας για αυτήν την κατασκευή" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελία κατασκευής" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "Προτεραιότητα Κατασκευής" msgid "Priority of this build order" msgstr "Προτεραιότητα αυτής της εντολής κατασκευής" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" @@ -1109,10 +1109,10 @@ msgstr "Αντικείμενο κατασκευής" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "Αντικείμενο κατασκευής" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "Η ποσότητα πρέπει να είναι 1 για σειριακ msgid "Selected stock item does not match BOM line" msgstr "Το επιλεγμένο στοιχείο αποθέματος δεν ταιριάζει με τη γραμμή ΤΥ" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "Ακέραιη ποσότητα που απαιτείται για αν msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Ακέραιη ποσότητα που απαιτείται, καθώς ο λογαριασμός των υλικών περιέχει ανιχνεύσιμα μέρη" -#: build/serializers.py:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Σειριακοί αριθμοί" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "Τοποθεσία για ολοκληρωμένα προϊόντα κα #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "Αποδεχτείτε ότι αντικείμενα αποθέματο msgid "Required stock has not been fully allocated" msgstr "Το απαιτούμενο απόθεμα δεν έχει δεσμευτεί πλήρως" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "Αποδοχή Μη Ολοκληρωμένων" @@ -1435,11 +1435,11 @@ msgstr "Αντικείμενο Γραμμής Κατασκευής" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part πρέπει να δείχνει στο ίδιο εξάρτημα με τη εντολή κατασκευής" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "" @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "" @@ -1914,6 +1914,22 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "" - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1131 +2315,1129 @@ msgstr "" msgid "Template" msgstr "" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1878 -#, fuzzy -#| msgid "A build order has been completed" +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" -msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" +msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3436,24 +3445,24 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3464,101 +3473,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3568,31 +3577,39 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3690,6 +3707,23 @@ msgstr "" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "" + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3920,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -3931,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3946,7 +3980,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3991,7 +4025,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4017,7 +4051,7 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4034,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "" @@ -4055,26 +4089,26 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4099,7 +4133,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "" @@ -4119,11 +4153,11 @@ msgstr "" msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4196,7 +4230,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4407,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4507,7 +4541,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4557,10 +4591,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4714,7 +4748,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4772,11 +4806,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4884,10 +4918,8 @@ msgid "shipped by" msgstr "" #: order/models.py:1027 -#, fuzzy -#| msgid "Build output is already completed" msgid "Order is already complete" -msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" +msgstr "" #: order/models.py:1030 msgid "Order is already cancelled" @@ -4963,7 +4995,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5025,8 +5057,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" @@ -5074,7 +5106,7 @@ msgstr "" msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5148,7 +5180,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5157,163 +5189,163 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5739,34 +5771,34 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5775,11 +5807,11 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5791,11 +5823,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5808,12 +5840,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5831,8 +5863,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5855,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5947,8 +5979,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5956,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5974,371 +6006,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6350,686 +6382,686 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -7255,15 +7287,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8312,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8328,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -8836,7 +8868,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8881,7 +8913,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" @@ -8893,7 +8925,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" @@ -8970,7 +9002,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" @@ -9002,7 +9034,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9126,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "" @@ -9448,7 +9480,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "" @@ -9468,11 +9500,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10203,20 +10235,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "" @@ -10709,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "" @@ -14338,3 +14370,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po index be983506d7..0330f3907e 100644 --- a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" +"POT-Creation-Date: 2024-06-03 11:39+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -63,7 +63,7 @@ msgstr "" #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 #: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 @@ -410,10 +410,10 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2938 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -427,7 +427,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "" @@ -441,10 +441,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2490 +#: common/models.py:2491 common/models.py:2639 common/models.py:2640 +#: common/models.py:2885 common/models.py:2886 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -488,9 +488,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2626 common/models.py:3024 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -509,13 +509,13 @@ msgid "Name" msgstr "" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:135 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -590,12 +590,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:62 part/models.py:4203 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -687,7 +687,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1179 msgid "Background worker check failed" msgstr "" @@ -751,14 +751,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -831,7 +831,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -861,11 +861,11 @@ msgstr "" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1501 part/api.py:1795 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1125 part/serializers.py:1731 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -974,7 +974,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1006,10 +1006,10 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:144 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1044,7 +1044,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:128 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1086,7 +1086,7 @@ msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 +#: order/serializers.py:576 part/serializers.py:1489 part/serializers.py:1889 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "" @@ -1110,10 +1110,10 @@ msgstr "" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 +#: build/templates/build/detail.html:34 common/models.py:2512 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1263,7 +1263,7 @@ msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 +#: part/serializers.py:1145 stock/serializers.py:101 stock/serializers.py:623 #: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 #: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1497,7 +1497,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1507,7 +1507,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:833 part/serializers.py:1507 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1515,13 +1515,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1509 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1532 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1915,6 +1915,22 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1953,351 +1969,355 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:71 +#: common/models.py:70 msgid "Updated" msgstr "" -#: common/models.py:72 +#: common/models.py:71 msgid "Timestamp of last update" msgstr "" -#: common/models.py:105 +#: common/models.py:104 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:129 msgid "Unique project code" msgstr "" -#: common/models.py:137 +#: common/models.py:136 msgid "Project description" msgstr "" -#: common/models.py:146 +#: common/models.py:145 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:766 +#: common/models.py:765 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:770 +#: common/models.py:769 msgid "Settings value" msgstr "" -#: common/models.py:822 +#: common/models.py:821 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:838 +#: common/models.py:837 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:846 +#: common/models.py:845 msgid "Value must be an integer value" msgstr "" -#: common/models.py:883 +#: common/models.py:882 msgid "Key string must be unique" msgstr "" -#: common/models.py:1115 +#: common/models.py:1114 msgid "No group" msgstr "" -#: common/models.py:1158 +#: common/models.py:1157 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:1160 +#: common/models.py:1159 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:1172 -msgid "No plugin" -msgstr "" - -#: common/models.py:1260 +#: common/models.py:1226 msgid "Restart required" msgstr "" -#: common/models.py:1262 +#: common/models.py:1228 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1269 +#: common/models.py:1235 msgid "Pending migrations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1236 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1275 +#: common/models.py:1241 msgid "Server Instance Name" msgstr "" -#: common/models.py:1277 +#: common/models.py:1243 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1281 +#: common/models.py:1247 msgid "Use instance name" msgstr "" -#: common/models.py:1282 +#: common/models.py:1248 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1287 +#: common/models.py:1253 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1288 +#: common/models.py:1254 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1259 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1294 +#: common/models.py:1260 msgid "Internal company name" msgstr "" -#: common/models.py:1298 +#: common/models.py:1264 msgid "Base URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1265 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1305 +#: common/models.py:1271 msgid "Default Currency" msgstr "" -#: common/models.py:1306 +#: common/models.py:1272 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1312 +#: common/models.py:1278 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1279 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1285 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1314 +#: common/models.py:1287 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1290 common/models.py:1346 common/models.py:1359 +#: common/models.py:1367 common/models.py:1376 common/models.py:1385 +#: common/models.py:1593 common/models.py:1615 common/models.py:1730 +#: common/models.py:2049 msgid "days" msgstr "" -#: common/models.py:1321 +#: common/models.py:1294 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1322 +#: common/models.py:1295 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1327 +#: common/models.py:1300 msgid "Download from URL" msgstr "" -#: common/models.py:1329 +#: common/models.py:1302 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1335 +#: common/models.py:1308 msgid "Download Size Limit" msgstr "" -#: common/models.py:1336 +#: common/models.py:1309 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1342 +#: common/models.py:1315 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1344 +#: common/models.py:1317 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1322 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1350 +#: common/models.py:1323 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1355 +#: common/models.py:1328 msgid "Require confirm" msgstr "" -#: common/models.py:1356 +#: common/models.py:1329 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1361 +#: common/models.py:1334 msgid "Tree Depth" msgstr "" -#: common/models.py:1363 +#: common/models.py:1336 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1369 +#: common/models.py:1342 msgid "Update Check Interval" msgstr "" -#: common/models.py:1370 +#: common/models.py:1343 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1376 +#: common/models.py:1349 msgid "Automatic Backup" msgstr "" -#: common/models.py:1377 +#: common/models.py:1350 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1382 +#: common/models.py:1355 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1383 +#: common/models.py:1356 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1389 +#: common/models.py:1362 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1391 +#: common/models.py:1364 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1398 +#: common/models.py:1371 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1400 +#: common/models.py:1373 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1407 +#: common/models.py:1380 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1409 +#: common/models.py:1382 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1389 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1417 +#: common/models.py:1390 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1422 +#: common/models.py:1395 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1423 +#: common/models.py:1396 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1429 +#: common/models.py:1402 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1430 +#: common/models.py:1403 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1435 +#: common/models.py:1408 msgid "Part Revisions" msgstr "" -#: common/models.py:1436 +#: common/models.py:1409 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1414 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1415 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1420 msgid "IPN Regex" msgstr "" -#: common/models.py:1448 +#: common/models.py:1421 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1424 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1452 +#: common/models.py:1425 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1457 +#: common/models.py:1430 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1458 +#: common/models.py:1431 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1463 +#: common/models.py:1436 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1464 +#: common/models.py:1437 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1469 +#: common/models.py:1442 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1470 +#: common/models.py:1443 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1475 +#: common/models.py:1448 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1476 +#: common/models.py:1449 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1481 +#: common/models.py:1454 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1482 +#: common/models.py:1455 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1460 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2305,1129 +2325,1129 @@ msgstr "" msgid "Template" msgstr "" -#: common/models.py:1488 +#: common/models.py:1461 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1466 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1494 +#: common/models.py:1467 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1472 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1500 +#: common/models.py:1473 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1478 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "" -#: common/models.py:1506 +#: common/models.py:1479 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1484 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1512 +#: common/models.py:1485 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1490 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1518 +#: common/models.py:1491 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1496 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1524 +#: common/models.py:1497 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1529 +#: common/models.py:1502 msgid "Show Import in Views" msgstr "" -#: common/models.py:1530 +#: common/models.py:1503 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1535 +#: common/models.py:1508 msgid "Show related parts" msgstr "" -#: common/models.py:1536 +#: common/models.py:1509 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1541 +#: common/models.py:1514 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1515 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1520 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1549 +#: common/models.py:1522 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1555 +#: common/models.py:1528 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1556 +#: common/models.py:1529 msgid "Format to display the part name" msgstr "" -#: common/models.py:1562 +#: common/models.py:1535 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1563 +#: common/models.py:1536 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1567 +#: common/models.py:1540 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1569 +#: common/models.py:1542 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1575 +#: common/models.py:1548 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1577 +#: common/models.py:1550 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1583 +#: common/models.py:1556 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1585 +#: common/models.py:1558 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1591 +#: common/models.py:1564 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1593 +#: common/models.py:1566 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1599 +#: common/models.py:1572 msgid "Purchase History Override" msgstr "" -#: common/models.py:1601 +#: common/models.py:1574 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1607 +#: common/models.py:1580 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1609 +#: common/models.py:1582 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1615 +#: common/models.py:1588 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1617 +#: common/models.py:1590 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1624 +#: common/models.py:1597 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1625 +#: common/models.py:1598 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1630 +#: common/models.py:1603 msgid "Active Variants Only" msgstr "" -#: common/models.py:1632 +#: common/models.py:1605 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1611 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1640 +#: common/models.py:1613 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1647 +#: common/models.py:1620 msgid "Internal Prices" msgstr "" -#: common/models.py:1648 +#: common/models.py:1621 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1653 +#: common/models.py:1626 msgid "Internal Price Override" msgstr "" -#: common/models.py:1655 +#: common/models.py:1628 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1661 +#: common/models.py:1634 msgid "Enable label printing" msgstr "" -#: common/models.py:1662 +#: common/models.py:1635 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1667 +#: common/models.py:1640 msgid "Label Image DPI" msgstr "" -#: common/models.py:1669 +#: common/models.py:1642 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1675 +#: common/models.py:1648 msgid "Enable Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1649 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1654 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1682 +#: common/models.py:1655 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1687 +#: common/models.py:1660 msgid "Log Report Errors" msgstr "" -#: common/models.py:1688 +#: common/models.py:1661 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1666 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1694 +#: common/models.py:1667 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1699 +#: common/models.py:1672 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1673 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1705 +#: common/models.py:1678 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1680 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1713 +#: common/models.py:1686 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1714 +#: common/models.py:1687 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1719 +#: common/models.py:1692 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1720 +#: common/models.py:1693 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1725 +#: common/models.py:1698 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1727 +#: common/models.py:1700 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1706 msgid "Batch Code Template" msgstr "" -#: common/models.py:1735 +#: common/models.py:1708 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1740 +#: common/models.py:1713 msgid "Stock Expiry" msgstr "" -#: common/models.py:1741 +#: common/models.py:1714 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1746 +#: common/models.py:1719 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1747 +#: common/models.py:1720 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1752 +#: common/models.py:1725 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1754 +#: common/models.py:1727 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1761 +#: common/models.py:1734 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1762 +#: common/models.py:1735 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1740 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1768 +#: common/models.py:1741 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1773 +#: common/models.py:1746 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1774 +#: common/models.py:1747 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1778 +#: common/models.py:1751 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1752 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1784 +#: common/models.py:1757 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1759 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1765 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1767 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1773 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1802 +#: common/models.py:1775 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1781 common/models.py:1809 common/models.py:1831 +#: common/models.py:1867 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1782 common/models.py:1810 common/models.py:1832 +#: common/models.py:1868 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1787 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1789 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1795 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1823 +#: common/models.py:1796 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1828 +#: common/models.py:1801 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1830 +#: common/models.py:1803 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1815 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1817 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1823 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1852 +#: common/models.py:1825 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1864 +#: common/models.py:1837 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1865 +#: common/models.py:1838 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1870 +#: common/models.py:1843 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1872 +#: common/models.py:1845 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1878 +#: common/models.py:1851 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1880 +#: common/models.py:1853 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1859 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1861 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1873 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1902 +#: common/models.py:1875 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1908 +#: common/models.py:1881 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1883 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1890 msgid "Enable password forgot" msgstr "" -#: common/models.py:1918 +#: common/models.py:1891 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1923 +#: common/models.py:1896 msgid "Enable registration" msgstr "" -#: common/models.py:1924 +#: common/models.py:1897 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1929 +#: common/models.py:1902 msgid "Enable SSO" msgstr "" -#: common/models.py:1930 +#: common/models.py:1903 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1935 +#: common/models.py:1908 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1937 +#: common/models.py:1910 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1943 +#: common/models.py:1916 msgid "Email required" msgstr "" -#: common/models.py:1944 +#: common/models.py:1917 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1949 +#: common/models.py:1922 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1951 +#: common/models.py:1924 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1957 +#: common/models.py:1930 msgid "Mail twice" msgstr "" -#: common/models.py:1958 +#: common/models.py:1931 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1963 +#: common/models.py:1936 msgid "Password twice" msgstr "" -#: common/models.py:1964 +#: common/models.py:1937 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1969 +#: common/models.py:1942 msgid "Allowed domains" msgstr "" -#: common/models.py:1971 +#: common/models.py:1944 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1977 +#: common/models.py:1950 msgid "Group on signup" msgstr "" -#: common/models.py:1978 +#: common/models.py:1951 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1983 +#: common/models.py:1956 msgid "Enforce MFA" msgstr "" -#: common/models.py:1984 +#: common/models.py:1957 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1989 +#: common/models.py:1962 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1991 +#: common/models.py:1964 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1999 +#: common/models.py:1972 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1973 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1979 msgid "Enable URL integration" msgstr "" -#: common/models.py:2007 +#: common/models.py:1980 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2013 +#: common/models.py:1986 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2014 +#: common/models.py:1987 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2020 +#: common/models.py:1993 msgid "Enable app integration" msgstr "" -#: common/models.py:2021 +#: common/models.py:1994 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2027 +#: common/models.py:2000 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2028 +#: common/models.py:2001 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2034 +#: common/models.py:2007 msgid "Enable event integration" msgstr "" -#: common/models.py:2035 +#: common/models.py:2008 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2041 +#: common/models.py:2014 msgid "Enable project codes" msgstr "" -#: common/models.py:2042 +#: common/models.py:2015 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2020 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2049 +#: common/models.py:2022 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2055 +#: common/models.py:2028 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2057 +#: common/models.py:2030 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2063 +#: common/models.py:2036 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2065 +#: common/models.py:2038 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2071 +#: common/models.py:2044 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2046 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2080 +#: common/models.py:2053 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2054 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2059 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2060 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2072 common/models.py:2482 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2142 +#: common/models.py:2115 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2144 +#: common/models.py:2117 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2123 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2151 +#: common/models.py:2124 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2156 +#: common/models.py:2129 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2157 +#: common/models.py:2130 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2162 +#: common/models.py:2135 msgid "Show latest parts" msgstr "" -#: common/models.py:2163 +#: common/models.py:2136 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2168 +#: common/models.py:2141 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2142 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2147 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2175 +#: common/models.py:2148 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2153 msgid "Show low stock" msgstr "" -#: common/models.py:2181 +#: common/models.py:2154 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2159 msgid "Show depleted stock" msgstr "" -#: common/models.py:2187 +#: common/models.py:2160 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2165 msgid "Show needed stock" msgstr "" -#: common/models.py:2193 +#: common/models.py:2166 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2171 msgid "Show expired stock" msgstr "" -#: common/models.py:2199 +#: common/models.py:2172 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2177 msgid "Show stale stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2178 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2183 msgid "Show pending builds" msgstr "" -#: common/models.py:2211 +#: common/models.py:2184 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2189 msgid "Show overdue builds" msgstr "" -#: common/models.py:2217 +#: common/models.py:2190 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2195 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2223 +#: common/models.py:2196 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2201 msgid "Show overdue POs" msgstr "" -#: common/models.py:2229 +#: common/models.py:2202 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2207 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2235 +#: common/models.py:2208 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2213 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2214 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2219 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2247 +#: common/models.py:2220 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2225 msgid "Show News" msgstr "" -#: common/models.py:2253 +#: common/models.py:2226 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2231 msgid "Inline label display" msgstr "" -#: common/models.py:2260 +#: common/models.py:2233 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2266 +#: common/models.py:2239 msgid "Default label printer" msgstr "" -#: common/models.py:2268 +#: common/models.py:2241 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2274 +#: common/models.py:2247 msgid "Inline report display" msgstr "" -#: common/models.py:2276 +#: common/models.py:2249 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2282 +#: common/models.py:2255 msgid "Search Parts" msgstr "" -#: common/models.py:2283 +#: common/models.py:2256 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2288 +#: common/models.py:2261 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2289 +#: common/models.py:2262 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2294 +#: common/models.py:2267 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2295 +#: common/models.py:2268 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2300 +#: common/models.py:2273 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2301 +#: common/models.py:2274 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2306 +#: common/models.py:2279 msgid "Search Categories" msgstr "" -#: common/models.py:2307 +#: common/models.py:2280 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2285 msgid "Search Stock" msgstr "" -#: common/models.py:2313 +#: common/models.py:2286 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2291 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2320 +#: common/models.py:2293 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2326 +#: common/models.py:2299 msgid "Search Locations" msgstr "" -#: common/models.py:2327 +#: common/models.py:2300 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2332 +#: common/models.py:2305 msgid "Search Companies" msgstr "" -#: common/models.py:2333 +#: common/models.py:2306 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2338 +#: common/models.py:2311 msgid "Search Build Orders" msgstr "" -#: common/models.py:2339 +#: common/models.py:2312 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2344 +#: common/models.py:2317 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2345 +#: common/models.py:2318 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2323 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2352 +#: common/models.py:2325 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2331 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2359 +#: common/models.py:2332 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2337 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2366 +#: common/models.py:2339 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2345 msgid "Search Return Orders" msgstr "" -#: common/models.py:2373 +#: common/models.py:2346 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2351 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2353 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2359 msgid "Search Preview Results" msgstr "" -#: common/models.py:2388 +#: common/models.py:2361 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2394 +#: common/models.py:2367 msgid "Regex Search" msgstr "" -#: common/models.py:2395 +#: common/models.py:2368 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2373 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2374 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2379 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2407 +#: common/models.py:2380 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2412 +#: common/models.py:2385 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2413 +#: common/models.py:2386 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2418 +#: common/models.py:2391 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2419 +#: common/models.py:2392 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2424 +#: common/models.py:2397 msgid "Date Format" msgstr "" -#: common/models.py:2425 +#: common/models.py:2398 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2411 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2439 +#: common/models.py:2412 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2417 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2446 +#: common/models.py:2419 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2452 +#: common/models.py:2425 msgid "Table String Length" msgstr "" -#: common/models.py:2454 +#: common/models.py:2427 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2433 msgid "Default part label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2434 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2439 msgid "Default stock item template" msgstr "" -#: common/models.py:2468 +#: common/models.py:2441 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2447 msgid "Default stock location label template" msgstr "" -#: common/models.py:2476 +#: common/models.py:2449 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2455 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2457 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2463 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2464 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2469 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2470 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2513 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2520 company/serializers.py:496 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3435,24 +3455,24 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2548 +#: common/models.py:2521 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2616 common/models.py:2801 msgid "Endpoint" msgstr "" -#: common/models.py:2720 +#: common/models.py:2617 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2730 +#: common/models.py:2627 msgid "Name for this webhook" msgstr "" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2631 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3463,101 +3483,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2734 +#: common/models.py:2631 msgid "Is this webhook active" msgstr "" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2647 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2751 +#: common/models.py:2648 msgid "Token for access" msgstr "" -#: common/models.py:2759 +#: common/models.py:2656 msgid "Secret" msgstr "" -#: common/models.py:2760 +#: common/models.py:2657 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2868 +#: common/models.py:2765 msgid "Message ID" msgstr "" -#: common/models.py:2869 +#: common/models.py:2766 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2877 +#: common/models.py:2774 msgid "Host" msgstr "" -#: common/models.py:2878 +#: common/models.py:2775 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2886 +#: common/models.py:2783 msgid "Header" msgstr "" -#: common/models.py:2887 +#: common/models.py:2784 msgid "Header of this message" msgstr "" -#: common/models.py:2894 +#: common/models.py:2791 msgid "Body" msgstr "" -#: common/models.py:2895 +#: common/models.py:2792 msgid "Body of this message" msgstr "" -#: common/models.py:2905 +#: common/models.py:2802 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2910 +#: common/models.py:2807 msgid "Worked on" msgstr "" -#: common/models.py:2911 +#: common/models.py:2808 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3037 +#: common/models.py:2934 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2936 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2940 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2942 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2944 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3050 +#: common/models.py:2947 msgid "Read" msgstr "" -#: common/models.py:3050 +#: common/models.py:2947 msgid "Was this news item read?" msgstr "" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2964 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3567,31 +3587,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3067 +#: common/models.py:2964 msgid "Image file" msgstr "" -#: common/models.py:3109 +#: common/models.py:3006 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3025 msgid "Unit name" msgstr "" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3032 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3136 +#: common/models.py:3033 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3040 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3144 +#: common/models.py:3041 msgid "Unit definition" msgstr "" @@ -3930,7 +3950,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3945,7 +3965,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3990,7 +4010,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4016,7 +4036,7 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4033,7 +4053,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "" @@ -4054,7 +4074,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4064,11 +4084,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4098,7 +4118,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "" @@ -4406,7 +4426,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:837 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4506,7 +4526,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4556,7 +4576,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:836 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:916 stock/serializers.py:1080 @@ -5736,34 +5756,34 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5772,11 +5792,11 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5788,11 +5808,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5805,12 +5825,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5828,8 +5848,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5852,17 +5872,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1279 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1294 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5944,8 +5964,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1515 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1135 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5957,12 +5977,12 @@ msgstr "" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:838 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5971,371 +5991,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6347,686 +6367,686 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:839 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:844 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:874 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:875 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:881 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:882 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:888 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:889 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:897 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:903 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:904 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:921 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1127 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1137 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1147 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1153 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1154 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1159 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1160 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1165 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1166 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1174 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1280 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1287 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1295 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1302 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1331 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1332 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1355 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1362 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1365 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1732 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1740 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1741 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1746 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1747 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1752 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1753 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1758 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1759 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1793 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1794 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1824 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1868 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1871 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1874 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1883 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1891 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1912 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8309,15 +8329,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8325,31 +8345,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -10200,20 +10220,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "" diff --git a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po index 0a915caca9..7e96c8e5d8 100644 --- a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:55\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Language: es_MX\n" @@ -56,18 +56,18 @@ msgstr "Detalles del error pueden encontrarse en el panel de administración" msgid "Enter date" msgstr "Ingrese la fecha" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "" @@ -440,10 +440,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "Los nombres duplicados no pueden existir bajo el mismo padre" msgid "Invalid choice" msgstr "Selección no válida" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "Nombre" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "padre" msgid "Path" msgstr "Ruta" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "Notas (opcional)" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "Datos de código de barras" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "Datos de código de barras de terceros" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "Hash del Código de barras" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "Hash único de datos de código de barras" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "Código de barras existente encontrado" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "Error de servidor" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "" @@ -750,14 +750,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "" msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -972,8 +972,8 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1109,10 +1109,10 @@ msgstr "" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "" @@ -1435,11 +1435,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "" @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "" @@ -1914,6 +1914,22 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "" - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1129 +2315,1129 @@ msgstr "" msgid "Template" msgstr "" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1878 +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3434,24 +3445,24 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3462,101 +3473,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3566,31 +3577,39 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3688,6 +3707,23 @@ msgstr "" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "" + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3918,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -3929,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,7 +3980,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3989,7 +4025,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4015,7 +4051,7 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4032,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "" @@ -4053,26 +4089,26 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4097,7 +4133,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "" @@ -4117,11 +4153,11 @@ msgstr "" msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4194,7 +4230,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4405,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4505,7 +4541,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4555,10 +4591,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4712,7 +4748,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4770,11 +4806,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +4995,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5021,8 +5057,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" @@ -5070,7 +5106,7 @@ msgstr "" msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5144,7 +5180,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5153,163 +5189,163 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5735,34 +5771,34 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5771,11 +5807,11 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5787,11 +5823,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5804,12 +5840,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5827,8 +5863,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5943,8 +5979,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5952,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5970,371 +6006,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6346,686 +6382,686 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -7251,15 +7287,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8308,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8324,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -8832,7 +8868,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8877,7 +8913,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" @@ -8889,7 +8925,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" @@ -8966,7 +9002,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" @@ -8998,7 +9034,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9122,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "" @@ -9444,7 +9480,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "" @@ -9464,11 +9500,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10199,20 +10235,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "" @@ -10705,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "" @@ -14334,3 +14370,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po index be983506d7..0330f3907e 100644 --- a/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" +"POT-Creation-Date: 2024-06-03 11:39+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -63,7 +63,7 @@ msgstr "" #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 #: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 @@ -410,10 +410,10 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2938 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -427,7 +427,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "" @@ -441,10 +441,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2490 +#: common/models.py:2491 common/models.py:2639 common/models.py:2640 +#: common/models.py:2885 common/models.py:2886 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -488,9 +488,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2626 common/models.py:3024 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -509,13 +509,13 @@ msgid "Name" msgstr "" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:135 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -590,12 +590,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:62 part/models.py:4203 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -687,7 +687,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1179 msgid "Background worker check failed" msgstr "" @@ -751,14 +751,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -831,7 +831,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -861,11 +861,11 @@ msgstr "" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1501 part/api.py:1795 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1125 part/serializers.py:1731 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -974,7 +974,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1006,10 +1006,10 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:144 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1044,7 +1044,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:128 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1086,7 +1086,7 @@ msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 +#: order/serializers.py:576 part/serializers.py:1489 part/serializers.py:1889 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "" @@ -1110,10 +1110,10 @@ msgstr "" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 +#: build/templates/build/detail.html:34 common/models.py:2512 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1263,7 +1263,7 @@ msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 +#: part/serializers.py:1145 stock/serializers.py:101 stock/serializers.py:623 #: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 #: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1497,7 +1497,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1507,7 +1507,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:833 part/serializers.py:1507 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1515,13 +1515,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1509 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1532 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1915,6 +1915,22 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1953,351 +1969,355 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:71 +#: common/models.py:70 msgid "Updated" msgstr "" -#: common/models.py:72 +#: common/models.py:71 msgid "Timestamp of last update" msgstr "" -#: common/models.py:105 +#: common/models.py:104 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:129 msgid "Unique project code" msgstr "" -#: common/models.py:137 +#: common/models.py:136 msgid "Project description" msgstr "" -#: common/models.py:146 +#: common/models.py:145 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:766 +#: common/models.py:765 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:770 +#: common/models.py:769 msgid "Settings value" msgstr "" -#: common/models.py:822 +#: common/models.py:821 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:838 +#: common/models.py:837 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:846 +#: common/models.py:845 msgid "Value must be an integer value" msgstr "" -#: common/models.py:883 +#: common/models.py:882 msgid "Key string must be unique" msgstr "" -#: common/models.py:1115 +#: common/models.py:1114 msgid "No group" msgstr "" -#: common/models.py:1158 +#: common/models.py:1157 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:1160 +#: common/models.py:1159 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:1172 -msgid "No plugin" -msgstr "" - -#: common/models.py:1260 +#: common/models.py:1226 msgid "Restart required" msgstr "" -#: common/models.py:1262 +#: common/models.py:1228 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1269 +#: common/models.py:1235 msgid "Pending migrations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1236 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1275 +#: common/models.py:1241 msgid "Server Instance Name" msgstr "" -#: common/models.py:1277 +#: common/models.py:1243 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1281 +#: common/models.py:1247 msgid "Use instance name" msgstr "" -#: common/models.py:1282 +#: common/models.py:1248 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1287 +#: common/models.py:1253 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1288 +#: common/models.py:1254 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1259 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1294 +#: common/models.py:1260 msgid "Internal company name" msgstr "" -#: common/models.py:1298 +#: common/models.py:1264 msgid "Base URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1265 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1305 +#: common/models.py:1271 msgid "Default Currency" msgstr "" -#: common/models.py:1306 +#: common/models.py:1272 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1312 +#: common/models.py:1278 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1279 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1285 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1314 +#: common/models.py:1287 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1290 common/models.py:1346 common/models.py:1359 +#: common/models.py:1367 common/models.py:1376 common/models.py:1385 +#: common/models.py:1593 common/models.py:1615 common/models.py:1730 +#: common/models.py:2049 msgid "days" msgstr "" -#: common/models.py:1321 +#: common/models.py:1294 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1322 +#: common/models.py:1295 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1327 +#: common/models.py:1300 msgid "Download from URL" msgstr "" -#: common/models.py:1329 +#: common/models.py:1302 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1335 +#: common/models.py:1308 msgid "Download Size Limit" msgstr "" -#: common/models.py:1336 +#: common/models.py:1309 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1342 +#: common/models.py:1315 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1344 +#: common/models.py:1317 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1322 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1350 +#: common/models.py:1323 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1355 +#: common/models.py:1328 msgid "Require confirm" msgstr "" -#: common/models.py:1356 +#: common/models.py:1329 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1361 +#: common/models.py:1334 msgid "Tree Depth" msgstr "" -#: common/models.py:1363 +#: common/models.py:1336 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1369 +#: common/models.py:1342 msgid "Update Check Interval" msgstr "" -#: common/models.py:1370 +#: common/models.py:1343 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1376 +#: common/models.py:1349 msgid "Automatic Backup" msgstr "" -#: common/models.py:1377 +#: common/models.py:1350 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1382 +#: common/models.py:1355 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1383 +#: common/models.py:1356 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1389 +#: common/models.py:1362 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1391 +#: common/models.py:1364 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1398 +#: common/models.py:1371 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1400 +#: common/models.py:1373 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1407 +#: common/models.py:1380 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1409 +#: common/models.py:1382 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1389 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1417 +#: common/models.py:1390 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1422 +#: common/models.py:1395 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1423 +#: common/models.py:1396 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1429 +#: common/models.py:1402 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1430 +#: common/models.py:1403 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1435 +#: common/models.py:1408 msgid "Part Revisions" msgstr "" -#: common/models.py:1436 +#: common/models.py:1409 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1414 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1415 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1420 msgid "IPN Regex" msgstr "" -#: common/models.py:1448 +#: common/models.py:1421 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1424 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1452 +#: common/models.py:1425 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1457 +#: common/models.py:1430 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1458 +#: common/models.py:1431 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1463 +#: common/models.py:1436 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1464 +#: common/models.py:1437 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1469 +#: common/models.py:1442 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1470 +#: common/models.py:1443 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1475 +#: common/models.py:1448 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1476 +#: common/models.py:1449 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1481 +#: common/models.py:1454 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1482 +#: common/models.py:1455 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1460 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2305,1129 +2325,1129 @@ msgstr "" msgid "Template" msgstr "" -#: common/models.py:1488 +#: common/models.py:1461 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1466 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1494 +#: common/models.py:1467 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1472 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1500 +#: common/models.py:1473 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1478 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "" -#: common/models.py:1506 +#: common/models.py:1479 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1484 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1512 +#: common/models.py:1485 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1490 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1518 +#: common/models.py:1491 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1496 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1524 +#: common/models.py:1497 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1529 +#: common/models.py:1502 msgid "Show Import in Views" msgstr "" -#: common/models.py:1530 +#: common/models.py:1503 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1535 +#: common/models.py:1508 msgid "Show related parts" msgstr "" -#: common/models.py:1536 +#: common/models.py:1509 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1541 +#: common/models.py:1514 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1515 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1520 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1549 +#: common/models.py:1522 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1555 +#: common/models.py:1528 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1556 +#: common/models.py:1529 msgid "Format to display the part name" msgstr "" -#: common/models.py:1562 +#: common/models.py:1535 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1563 +#: common/models.py:1536 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1567 +#: common/models.py:1540 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1569 +#: common/models.py:1542 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1575 +#: common/models.py:1548 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1577 +#: common/models.py:1550 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1583 +#: common/models.py:1556 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1585 +#: common/models.py:1558 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1591 +#: common/models.py:1564 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1593 +#: common/models.py:1566 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1599 +#: common/models.py:1572 msgid "Purchase History Override" msgstr "" -#: common/models.py:1601 +#: common/models.py:1574 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1607 +#: common/models.py:1580 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1609 +#: common/models.py:1582 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1615 +#: common/models.py:1588 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1617 +#: common/models.py:1590 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1624 +#: common/models.py:1597 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1625 +#: common/models.py:1598 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1630 +#: common/models.py:1603 msgid "Active Variants Only" msgstr "" -#: common/models.py:1632 +#: common/models.py:1605 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1611 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1640 +#: common/models.py:1613 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1647 +#: common/models.py:1620 msgid "Internal Prices" msgstr "" -#: common/models.py:1648 +#: common/models.py:1621 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1653 +#: common/models.py:1626 msgid "Internal Price Override" msgstr "" -#: common/models.py:1655 +#: common/models.py:1628 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1661 +#: common/models.py:1634 msgid "Enable label printing" msgstr "" -#: common/models.py:1662 +#: common/models.py:1635 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1667 +#: common/models.py:1640 msgid "Label Image DPI" msgstr "" -#: common/models.py:1669 +#: common/models.py:1642 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1675 +#: common/models.py:1648 msgid "Enable Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1649 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1654 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1682 +#: common/models.py:1655 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1687 +#: common/models.py:1660 msgid "Log Report Errors" msgstr "" -#: common/models.py:1688 +#: common/models.py:1661 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1666 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1694 +#: common/models.py:1667 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1699 +#: common/models.py:1672 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1673 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1705 +#: common/models.py:1678 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1680 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1713 +#: common/models.py:1686 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1714 +#: common/models.py:1687 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1719 +#: common/models.py:1692 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1720 +#: common/models.py:1693 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1725 +#: common/models.py:1698 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1727 +#: common/models.py:1700 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1706 msgid "Batch Code Template" msgstr "" -#: common/models.py:1735 +#: common/models.py:1708 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1740 +#: common/models.py:1713 msgid "Stock Expiry" msgstr "" -#: common/models.py:1741 +#: common/models.py:1714 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1746 +#: common/models.py:1719 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1747 +#: common/models.py:1720 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1752 +#: common/models.py:1725 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1754 +#: common/models.py:1727 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1761 +#: common/models.py:1734 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1762 +#: common/models.py:1735 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1740 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1768 +#: common/models.py:1741 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1773 +#: common/models.py:1746 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1774 +#: common/models.py:1747 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1778 +#: common/models.py:1751 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1752 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1784 +#: common/models.py:1757 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1759 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1765 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1767 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1773 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1802 +#: common/models.py:1775 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1781 common/models.py:1809 common/models.py:1831 +#: common/models.py:1867 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1782 common/models.py:1810 common/models.py:1832 +#: common/models.py:1868 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1787 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1789 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1795 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1823 +#: common/models.py:1796 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1828 +#: common/models.py:1801 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1830 +#: common/models.py:1803 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1815 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1817 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1823 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1852 +#: common/models.py:1825 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1864 +#: common/models.py:1837 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1865 +#: common/models.py:1838 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1870 +#: common/models.py:1843 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1872 +#: common/models.py:1845 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1878 +#: common/models.py:1851 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1880 +#: common/models.py:1853 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1859 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1861 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1873 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1902 +#: common/models.py:1875 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1908 +#: common/models.py:1881 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1883 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1890 msgid "Enable password forgot" msgstr "" -#: common/models.py:1918 +#: common/models.py:1891 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1923 +#: common/models.py:1896 msgid "Enable registration" msgstr "" -#: common/models.py:1924 +#: common/models.py:1897 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1929 +#: common/models.py:1902 msgid "Enable SSO" msgstr "" -#: common/models.py:1930 +#: common/models.py:1903 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1935 +#: common/models.py:1908 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1937 +#: common/models.py:1910 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1943 +#: common/models.py:1916 msgid "Email required" msgstr "" -#: common/models.py:1944 +#: common/models.py:1917 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1949 +#: common/models.py:1922 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1951 +#: common/models.py:1924 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1957 +#: common/models.py:1930 msgid "Mail twice" msgstr "" -#: common/models.py:1958 +#: common/models.py:1931 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1963 +#: common/models.py:1936 msgid "Password twice" msgstr "" -#: common/models.py:1964 +#: common/models.py:1937 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1969 +#: common/models.py:1942 msgid "Allowed domains" msgstr "" -#: common/models.py:1971 +#: common/models.py:1944 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1977 +#: common/models.py:1950 msgid "Group on signup" msgstr "" -#: common/models.py:1978 +#: common/models.py:1951 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1983 +#: common/models.py:1956 msgid "Enforce MFA" msgstr "" -#: common/models.py:1984 +#: common/models.py:1957 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1989 +#: common/models.py:1962 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1991 +#: common/models.py:1964 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1999 +#: common/models.py:1972 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1973 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1979 msgid "Enable URL integration" msgstr "" -#: common/models.py:2007 +#: common/models.py:1980 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2013 +#: common/models.py:1986 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2014 +#: common/models.py:1987 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2020 +#: common/models.py:1993 msgid "Enable app integration" msgstr "" -#: common/models.py:2021 +#: common/models.py:1994 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2027 +#: common/models.py:2000 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2028 +#: common/models.py:2001 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2034 +#: common/models.py:2007 msgid "Enable event integration" msgstr "" -#: common/models.py:2035 +#: common/models.py:2008 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2041 +#: common/models.py:2014 msgid "Enable project codes" msgstr "" -#: common/models.py:2042 +#: common/models.py:2015 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2020 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2049 +#: common/models.py:2022 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2055 +#: common/models.py:2028 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2057 +#: common/models.py:2030 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2063 +#: common/models.py:2036 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2065 +#: common/models.py:2038 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2071 +#: common/models.py:2044 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2046 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2080 +#: common/models.py:2053 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2054 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2059 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2060 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2072 common/models.py:2482 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2142 +#: common/models.py:2115 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2144 +#: common/models.py:2117 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2123 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2151 +#: common/models.py:2124 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2156 +#: common/models.py:2129 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2157 +#: common/models.py:2130 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2162 +#: common/models.py:2135 msgid "Show latest parts" msgstr "" -#: common/models.py:2163 +#: common/models.py:2136 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2168 +#: common/models.py:2141 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2142 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2147 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2175 +#: common/models.py:2148 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2153 msgid "Show low stock" msgstr "" -#: common/models.py:2181 +#: common/models.py:2154 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2159 msgid "Show depleted stock" msgstr "" -#: common/models.py:2187 +#: common/models.py:2160 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2165 msgid "Show needed stock" msgstr "" -#: common/models.py:2193 +#: common/models.py:2166 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2171 msgid "Show expired stock" msgstr "" -#: common/models.py:2199 +#: common/models.py:2172 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2177 msgid "Show stale stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2178 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2183 msgid "Show pending builds" msgstr "" -#: common/models.py:2211 +#: common/models.py:2184 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2189 msgid "Show overdue builds" msgstr "" -#: common/models.py:2217 +#: common/models.py:2190 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2195 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2223 +#: common/models.py:2196 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2201 msgid "Show overdue POs" msgstr "" -#: common/models.py:2229 +#: common/models.py:2202 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2207 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2235 +#: common/models.py:2208 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2213 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2214 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2219 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2247 +#: common/models.py:2220 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2225 msgid "Show News" msgstr "" -#: common/models.py:2253 +#: common/models.py:2226 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2231 msgid "Inline label display" msgstr "" -#: common/models.py:2260 +#: common/models.py:2233 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2266 +#: common/models.py:2239 msgid "Default label printer" msgstr "" -#: common/models.py:2268 +#: common/models.py:2241 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2274 +#: common/models.py:2247 msgid "Inline report display" msgstr "" -#: common/models.py:2276 +#: common/models.py:2249 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2282 +#: common/models.py:2255 msgid "Search Parts" msgstr "" -#: common/models.py:2283 +#: common/models.py:2256 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2288 +#: common/models.py:2261 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2289 +#: common/models.py:2262 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2294 +#: common/models.py:2267 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2295 +#: common/models.py:2268 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2300 +#: common/models.py:2273 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2301 +#: common/models.py:2274 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2306 +#: common/models.py:2279 msgid "Search Categories" msgstr "" -#: common/models.py:2307 +#: common/models.py:2280 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2285 msgid "Search Stock" msgstr "" -#: common/models.py:2313 +#: common/models.py:2286 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2291 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2320 +#: common/models.py:2293 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2326 +#: common/models.py:2299 msgid "Search Locations" msgstr "" -#: common/models.py:2327 +#: common/models.py:2300 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2332 +#: common/models.py:2305 msgid "Search Companies" msgstr "" -#: common/models.py:2333 +#: common/models.py:2306 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2338 +#: common/models.py:2311 msgid "Search Build Orders" msgstr "" -#: common/models.py:2339 +#: common/models.py:2312 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2344 +#: common/models.py:2317 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2345 +#: common/models.py:2318 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2323 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2352 +#: common/models.py:2325 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2331 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2359 +#: common/models.py:2332 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2337 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2366 +#: common/models.py:2339 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2345 msgid "Search Return Orders" msgstr "" -#: common/models.py:2373 +#: common/models.py:2346 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2351 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2353 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2359 msgid "Search Preview Results" msgstr "" -#: common/models.py:2388 +#: common/models.py:2361 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2394 +#: common/models.py:2367 msgid "Regex Search" msgstr "" -#: common/models.py:2395 +#: common/models.py:2368 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2373 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2374 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2379 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2407 +#: common/models.py:2380 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2412 +#: common/models.py:2385 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2413 +#: common/models.py:2386 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2418 +#: common/models.py:2391 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2419 +#: common/models.py:2392 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2424 +#: common/models.py:2397 msgid "Date Format" msgstr "" -#: common/models.py:2425 +#: common/models.py:2398 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2411 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2439 +#: common/models.py:2412 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2417 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2446 +#: common/models.py:2419 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2452 +#: common/models.py:2425 msgid "Table String Length" msgstr "" -#: common/models.py:2454 +#: common/models.py:2427 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2433 msgid "Default part label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2434 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2439 msgid "Default stock item template" msgstr "" -#: common/models.py:2468 +#: common/models.py:2441 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2447 msgid "Default stock location label template" msgstr "" -#: common/models.py:2476 +#: common/models.py:2449 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2455 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2457 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2463 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2464 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2469 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2470 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2513 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2520 company/serializers.py:496 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3435,24 +3455,24 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2548 +#: common/models.py:2521 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2616 common/models.py:2801 msgid "Endpoint" msgstr "" -#: common/models.py:2720 +#: common/models.py:2617 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2730 +#: common/models.py:2627 msgid "Name for this webhook" msgstr "" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2631 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3463,101 +3483,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2734 +#: common/models.py:2631 msgid "Is this webhook active" msgstr "" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2647 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2751 +#: common/models.py:2648 msgid "Token for access" msgstr "" -#: common/models.py:2759 +#: common/models.py:2656 msgid "Secret" msgstr "" -#: common/models.py:2760 +#: common/models.py:2657 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2868 +#: common/models.py:2765 msgid "Message ID" msgstr "" -#: common/models.py:2869 +#: common/models.py:2766 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2877 +#: common/models.py:2774 msgid "Host" msgstr "" -#: common/models.py:2878 +#: common/models.py:2775 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2886 +#: common/models.py:2783 msgid "Header" msgstr "" -#: common/models.py:2887 +#: common/models.py:2784 msgid "Header of this message" msgstr "" -#: common/models.py:2894 +#: common/models.py:2791 msgid "Body" msgstr "" -#: common/models.py:2895 +#: common/models.py:2792 msgid "Body of this message" msgstr "" -#: common/models.py:2905 +#: common/models.py:2802 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2910 +#: common/models.py:2807 msgid "Worked on" msgstr "" -#: common/models.py:2911 +#: common/models.py:2808 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3037 +#: common/models.py:2934 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2936 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2940 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2942 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2944 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3050 +#: common/models.py:2947 msgid "Read" msgstr "" -#: common/models.py:3050 +#: common/models.py:2947 msgid "Was this news item read?" msgstr "" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2964 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3567,31 +3587,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3067 +#: common/models.py:2964 msgid "Image file" msgstr "" -#: common/models.py:3109 +#: common/models.py:3006 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3025 msgid "Unit name" msgstr "" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3032 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3136 +#: common/models.py:3033 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3040 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3144 +#: common/models.py:3041 msgid "Unit definition" msgstr "" @@ -3930,7 +3950,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3945,7 +3965,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3990,7 +4010,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4016,7 +4036,7 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4033,7 +4053,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "" @@ -4054,7 +4074,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4064,11 +4084,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4098,7 +4118,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "" @@ -4406,7 +4426,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:837 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4506,7 +4526,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4556,7 +4576,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:836 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:916 stock/serializers.py:1080 @@ -5736,34 +5756,34 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5772,11 +5792,11 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5788,11 +5808,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5805,12 +5825,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5828,8 +5848,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5852,17 +5872,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1279 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1294 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5944,8 +5964,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1515 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1135 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5957,12 +5977,12 @@ msgstr "" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:838 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5971,371 +5991,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6347,686 +6367,686 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:839 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:844 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:874 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:875 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:881 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:882 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:888 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:889 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:897 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:903 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:904 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:921 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1127 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1137 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1147 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1153 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1154 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1159 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1160 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1165 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1166 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1174 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1280 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1287 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1295 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1302 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1331 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1332 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1355 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1362 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1365 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1732 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1740 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1741 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1746 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1747 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1752 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1753 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1758 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1759 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1793 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1794 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1824 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1868 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1871 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1874 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1883 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1891 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1912 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8309,15 +8329,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8325,31 +8345,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -10200,20 +10220,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "" diff --git a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po index 8bf4af893b..c670576e5e 100644 --- a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:55\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -56,18 +56,18 @@ msgstr "جزئیات خطا را می توان در پنل مدیریت پیدا msgid "Enter date" msgstr "تاریخ را وارد کنید" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "" @@ -440,10 +440,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "" msgid "Path" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "فایل‌های داده" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "فایل را برای بارگذاری انتخاب کنید" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "این نوع فایل پشتیبانی نمی‌شود" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "حجم فایل خیلی بزرگ است" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "هیچ ستونی در فایل یافت نشد" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "هیچ ردیف داده ای در فایل یافت نشد" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "هیچ ردیف داده ای ارائه نشده است" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "هیچ ستون داده ای ارائه نشده است" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "ستون مورد نیاز وجود ندارد: \"{name}\"" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "ستون تکراری: '{col}'" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "آدرس فایل تصویری از راه دور" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "" @@ -750,14 +750,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "" msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -972,8 +972,8 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1109,10 +1109,10 @@ msgstr "" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "" @@ -1435,11 +1435,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "" @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "" @@ -1914,6 +1914,22 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "" - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1129 +2315,1129 @@ msgstr "" msgid "Template" msgstr "" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1878 +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3434,24 +3445,24 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3462,101 +3473,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3566,31 +3577,39 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3688,6 +3707,23 @@ msgstr "" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "" + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3918,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -3929,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,7 +3980,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3989,7 +4025,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4015,7 +4051,7 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4032,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "" @@ -4053,26 +4089,26 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4097,7 +4133,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "" @@ -4117,11 +4153,11 @@ msgstr "" msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4194,7 +4230,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4405,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4505,7 +4541,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4555,10 +4591,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4712,7 +4748,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4770,11 +4806,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +4995,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5021,8 +5057,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" @@ -5070,7 +5106,7 @@ msgstr "" msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5144,7 +5180,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5153,163 +5189,163 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5735,34 +5771,34 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5771,11 +5807,11 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5787,11 +5823,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5804,12 +5840,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5827,8 +5863,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5943,8 +5979,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5952,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5970,371 +6006,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6346,686 +6382,686 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -7251,15 +7287,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8308,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8324,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -8832,7 +8868,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8877,7 +8913,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" @@ -8889,7 +8925,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" @@ -8966,7 +9002,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" @@ -8998,7 +9034,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9122,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "" @@ -9444,7 +9480,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "" @@ -9464,11 +9500,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10199,20 +10235,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "" @@ -10705,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "" @@ -14334,3 +14370,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po index fda464f2eb..e50b7b5f6b 100644 --- a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:54\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -56,18 +56,18 @@ msgstr "Virheen tiedot löytyvät hallintapaneelista" msgid "Enter date" msgstr "Anna päivämäärä" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "Liite" msgid "Select file to attach" msgstr "Valitse liitettävä tiedosto" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "Valitse liitettävä tiedosto" msgid "Link" msgstr "Linkki" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "Linkki ulkoiseen URLiin" @@ -440,10 +440,10 @@ msgstr "Kommentti" msgid "File comment" msgstr "Tiedoston kommentti" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "" msgid "Invalid choice" msgstr "Virheellinen valinta" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "Nimi" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "" msgid "Path" msgstr "Polku" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "Viivakoodin Tiedot" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "Palvelinvirhe" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "Täytyy olla kelvollinen luku" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Valuutta" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "Valitse valuutta käytettävissä olevista vaihtoehdoista" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "Tiedostonimi" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "Virheellinen arvo" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "Datatiedosto" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "Valitse lähetettävä datatiedosto" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "Tiedostotyyppiä ei tueta" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "Tiedosto on liian suuri" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "Datarivejä ei annettu" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "Datasarakkeita ei annettu" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Vaadittu sarake puuttuu: '{name}'" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplikaatti sarake: '{col}'" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "Kuvatiedoston URL" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "Kuvien lataaminen ei ole käytössä" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "" @@ -750,14 +750,14 @@ msgstr "Tietoja InvenTree:stä" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "" msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -972,8 +972,8 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1109,10 +1109,10 @@ msgstr "" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Sarjanumerot" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "" @@ -1435,11 +1435,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "" @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "Liitteet" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "" @@ -1914,6 +1914,22 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "{name.title()} Tiedosto" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "Päivitetty" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "Viimeisimmän päivityksen aikaleima" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "Ei ryhmää" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "Verkkotunnus ei saa olla tyhjä." - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "Virheellinen verkkotunnus: {domain}" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "Uudelleenkäynnistys vaaditaan" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "Yrityksen nimi" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "Yrityksen sisäinen nimi" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "Oletusvaluutta" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "päivää" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "Automaattinen varmuuskopionti" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "Ota käyttöön tietokannan ja mediatiedostojen automaattinen varmuuskopiointi" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "Automaattisen varmuuskopioinnin aikaväli" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Viivakoodituki" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1129 +2315,1129 @@ msgstr "" msgid "Template" msgstr "" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Komponentti" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "Ostettavissa" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Seurattavissa" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "Sisäiset hinnat" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "Sisäisen hinnan ohitus" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "Sivun koko" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "Täytä sarjanumerot automaattisesti" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1878 +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "Salli salasananpalautus" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "Salli rekisteröinti" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "Salli SSO" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "Salli SSO kirjautumissivuilla" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "Salli SSO rekisteröinti" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "Sähköposti vaaditaan" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "Sähköpostiosoite kahdesti" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "Salasana kahdesti" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "Sallitut verkkotunnukset" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "Pakota MFA" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "Näytä uutiset" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "Näytä uutiset kotisivulla" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3434,24 +3445,24 @@ msgstr "" msgid "Price" msgstr "Hinta" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3462,101 +3473,101 @@ msgstr "" msgid "Active" msgstr "Aktiivinen" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "Salaisuus" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "Isäntä" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Otsikko" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "Julkaistu" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Julkaisija" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "Yhteenveto" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3566,31 +3577,39 @@ msgstr "" msgid "Image" msgstr "Kuva" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "Kuvatiedosto" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3688,6 +3707,23 @@ msgstr "" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "Verkkotunnus ei saa olla tyhjä." + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "Virheellinen verkkotunnus: {domain}" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3918,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -3929,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,7 +3980,7 @@ msgid "Select manufacturer" msgstr "Valitse valmistaja" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3989,7 +4025,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4015,7 +4051,7 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4032,7 +4068,7 @@ msgstr "Toimittaja" msgid "Select supplier" msgstr "Valitse toimittaja" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "Toimittajan varastonimike" @@ -4053,26 +4089,26 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "Muistiinpano" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4097,7 +4133,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "" @@ -4117,11 +4153,11 @@ msgstr "" msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4194,7 +4230,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4405,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4505,7 +4541,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4555,10 +4591,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4712,7 +4748,7 @@ msgstr "" msgid "Total Price" msgstr "Hinta yhteensä" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4770,11 +4806,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "Tilauksen valuutta" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +4995,7 @@ msgstr "Vastaanotettu" msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5021,8 +5057,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" @@ -5070,7 +5106,7 @@ msgstr "" msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5144,7 +5180,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5153,163 +5189,163 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Viivakoodi" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5735,34 +5771,34 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Avainsanat" @@ -5771,11 +5807,11 @@ msgstr "Avainsanat" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5787,11 +5823,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5804,12 +5840,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5827,8 +5863,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5943,8 +5979,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5952,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "Kategoria" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5970,371 +6006,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "Oletus avainsanat" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Kuvake" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "Kuvake (valinnainen)" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6346,686 +6382,686 @@ msgstr "" msgid "Date" msgstr "Päivämäärä" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "Muut merkinnät" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Raportti" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Käytössä" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "Valmistajan osanumero" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "Luo raportti" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -7251,15 +7287,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8308,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8324,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -8832,7 +8868,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8877,7 +8913,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" @@ -8889,7 +8925,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" @@ -8966,7 +9002,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" @@ -8998,7 +9034,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9122,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "" @@ -9444,7 +9480,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "" @@ -9464,11 +9500,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10199,20 +10235,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "" @@ -10705,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "kopioi leikepöydälle" @@ -14334,3 +14370,4 @@ msgstr "Oikeus muokata kohteita" #: users/models.py:413 msgid "Permission to delete items" msgstr "Oikeus poistaa kohteita" + diff --git a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po index 98e876a5d5..39348ee67c 100644 --- a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:54\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:38\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -56,18 +56,18 @@ msgstr "Les détails de l'erreur peuvent être trouvées dans le panneau d'admin msgid "Enter date" msgstr "Entrer la date" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "Pièce jointe" msgid "Select file to attach" msgstr "Sélectionnez un fichier à joindre" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "Sélectionnez un fichier à joindre" msgid "Link" msgstr "Lien" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "Lien vers une url externe" @@ -440,10 +440,10 @@ msgstr "Commentaire" msgid "File comment" msgstr "Commentaire du fichier" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "Les noms dupliqués ne peuvent pas exister sous le même parent" msgid "Invalid choice" msgstr "Choix invalide" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "Nom" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "parent" msgid "Path" msgstr "Chemin d'accès" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "Notes Markdown (option)" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "Données du code-barres" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "Données de code-barres tierces" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "Hash du code-barre" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "Hachage unique des données du code-barres" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "Code-barres existant trouvé" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "Erreur serveur" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "Une erreur a été loguée par le serveur." -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "Doit être un nombre valide" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Devise" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "Sélectionnez la devise à partir des options disponibles" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "Vous n'avez pas la permission de modifier ce rôle utilisateur." -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "Seuls les super-utilisateurs peuvent créer de nouveaux utilisateurs" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "Votre compte a été créé." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "Veuillez utiliser la fonction de réinitialisation du mot de passe pour vous connecter" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "Bienvenue dans InvenTree" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "Nom du fichier" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "Valeur non valide" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "Fichier de données" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "Sélectionnez le fichier de données à envoyer" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "Format de fichier non supporté" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "Fichier trop volumineux" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "Pas de colonnes trouvées dans le fichier" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "Par de lignes de données trouvées dans le fichier" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "Pas de lignes de données fournies" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "Pas de colonne de données fournie" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Colonne requise manquante : {name}" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Colonne duliquée : '{col}'" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "Images distantes" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "URL du fichier image distant" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "Le téléchargement des images depuis une URL distante n'est pas activé" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "Échec de la vérification du processus d'arrière-plan" @@ -750,14 +750,14 @@ msgstr "À propos d'InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "La construction doit être annulée avant de pouvoir être supprimée" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Consommable" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "Suivi" msgid "Allocated" msgstr "Allouée" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "Référence de l' Ordre de Fabrication" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "BuildOrder associé a cette fabrication" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "BuildOrder associé a cette fabrication" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "État de la construction" msgid "Build status code" msgstr "Code de statut de construction" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Code de lot" @@ -972,8 +972,8 @@ msgstr "Code de lot" msgid "Batch code for this build output" msgstr "Code de lot pour ce build output" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "Utilisateur ayant émis cette commande de construction" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "Priorité de fabrication" msgid "Priority of this build order" msgstr "Priorité de cet ordre de fabrication" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "L'ordre de production de correspond pas à l'ordre de commande" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" @@ -1109,10 +1109,10 @@ msgstr "Création de l'objet" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "Création de l'objet" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "La quantité doit être de 1 pour stock sérialisé" msgid "Selected stock item does not match BOM line" msgstr "L'article de stock sélectionné ne correspond pas à la ligne BOM" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "Quantité entière requise pour les pièces à suivre" 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:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Numéros de série" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "Entrer les numéros de séries pour la fabrication" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1294,7 +1294,7 @@ msgstr "Affecter automatiquement les éléments requis avec les numéros de sér #: build/serializers.py:331 msgid "Serial numbers must be provided for trackable parts" -msgstr "" +msgstr "Les numéros de série doivent être fournis pour les pièces traçables" #: build/serializers.py:356 stock/api.py:1031 msgid "The following serial numbers already exist or are invalid" @@ -1326,8 +1326,8 @@ msgstr "Emplacement des ordres de production achevés" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "Accepter les articles de stock qui n'ont pas été complètement alloué msgid "Required stock has not been fully allocated" msgstr "Le stock requis n'a pas encore été totalement alloué" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "Accepter les incomplèts" @@ -1435,11 +1435,11 @@ msgstr "Élément de la ligne de construction" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part doit pointer sur la même pièce que l'ordre de construction" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "L'article doit être en stock" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantité disponible ({q}) dépassée" @@ -1452,7 +1452,7 @@ msgstr "La sortie de construction doit être spécifiée pour l'allocation des p 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:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "Les articles d'allocation doivent être fournis" @@ -1496,7 +1496,7 @@ msgstr "Affecter des éléments de nomenclature facultatifs à l'ordre de fabric msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "Article du BOM" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "Stock alloué" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "Stock alloué" msgid "On Order" msgstr "En Commande" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "En Production" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "Pieces jointes" msgid "Build Notes" msgstr "Notes de construction" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "Allocation terminée" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "Toutes les lignes ont été entièrement attribuées" @@ -1914,6 +1914,22 @@ msgstr "Détails de la commande de construction" msgid "Incomplete Outputs" msgstr "Sorties incomplètes" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "Code de devise invalide" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "Code de devise en double" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "Aucun code de devise valide fourni" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "Pas de plugin" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "{name.title()} Fichier" msgid "Select {name} file to upload" msgstr "Sélectionner le fichier {name} à uploader" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "Mise à jour" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "Date de la dernière mise à jour" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "L'URL du site est verrouillée par configuration" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "Code projet unique" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "Description du projet" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "Utilisateur ou groupe responsable de ce projet" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "Clé du paramètre (doit être unique - insensible à la casse)" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "Valeur du paramètre" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "La valeur choisie n'est pas une option valide" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "La valeur doit être une valeur booléenne" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "La valeur doit être un nombre entier" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "La chaîne de caractères constituant la clé doit être unique" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "Pas de groupe" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "Un domaine vide n'est pas autorisé." - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "Nom de domaine invalide : {domain}" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "Pas de plugin" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "Redémarrage nécessaire" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "Un paramètre a été modifié, ce qui nécessite un redémarrage du serveur" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "Migration en attente" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "Nombre de migrations de base de données en attente" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "Nom de l'instance du serveur" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "Chaîne de caractères descriptive pour l'instance serveur" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "Utiliser le nom de l'instance" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "Utiliser le nom de l’instance dans la barre de titre" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "Limiter l'affichage de `about`" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "Afficher la modale `about` uniquement aux super-utilisateurs" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "Nom de la société" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "Nom de société interne" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "URL de base" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "URL de base pour l'instance serveur" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "Devise par défaut" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "Sélectionnez la devise de base pour les calculs de prix" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "Devises supportées" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "Liste des codes de devises supportés" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "Intervalle de mise à jour des devises" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Fréquence de mise à jour des taux de change (définir à zéro pour désactiver)" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "jours" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "Plugin de mise à jour de devise" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "Plugin de mise à jour des devises à utiliser" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "Télécharger depuis l'URL" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "Autoriser le téléchargement d'images distantes et de fichiers à partir d'URLs externes" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "Limite du volume de téléchargement" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "Taille maximale autorisée pour le téléchargement de l'image distante" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "Agent utilisateur utilisé pour télécharger depuis l'URL" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Permettre de remplacer l'agent utilisateur utilisé pour télécharger des images et des fichiers à partir d'URL externe (laisser vide pour la valeur par défaut)" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "Validation stricte d'URL" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "Spécification du schéma nécessaire lors de la validation des URL" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "Confirmation requise" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "Exiger une confirmation explicite de l’utilisateur pour certaines actions." -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "Profondeur de l'arborescence" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Profondeur de l'arborescence par défaut. Les niveaux plus profonds peuvent être chargés au fur et à mesure qu'ils sont nécessaires." -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "Intervalle de vérification des mises à jour" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "À quelle fréquence vérifier les mises à jour (définir à zéro pour désactiver)" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "Backup automatique" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "Activer le backup automatique de la base de données et des fichiers médias" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "Intervalle de sauvegarde automatique" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "Spécifiez le nombre de jours entre les sauvegardes automatique" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "Intervalle de suppression des tâches" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "Les résultats de la tâche en arrière-plan seront supprimés après le nombre de jours spécifié" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "Intervalle de suppression du journal d'erreur" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "Les logs d'erreur seront supprimés après le nombre de jours spécifié" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "Intervalle de suppression du journal de notification" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "Les notifications de l'utilisateur seront supprimées après le nombre de jours spécifié" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Support des code-barres" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "Activer le support du scanner de codes-barres dans l'interface web" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "Délai d'entrée du code-barres" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "Délai de traitement du code-barres" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "Prise en charge de la webcam code-barres" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "Autoriser la numérisation de codes-barres via la webcam dans le navigateur" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "Modifications de la pièce" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "Activer le champ de modification de la pièce" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" -msgstr "" +msgstr "Permettre la suppression de pièces utilisées dans un assemblage" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "Regex IPN" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "Expression régulière pour la correspondance avec l'IPN de la Pièce" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "Autoriser les IPN dupliqués" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "Permettre à plusieurs pièces de partager le même IPN" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "Autoriser l'édition de l'IPN" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "Permettre de modifier la valeur de l'IPN lors de l'édition d'une pièce" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "Copier les données de la pièce" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "Copier les données des paramètres par défaut lors de la duplication d'une pièce" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "Copier les données des paramètres de la pièce" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "Copier les données des paramètres par défaut lors de la duplication d'une pièce" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "Copier les données de test de la pièce" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "Copier les données de test par défaut lors de la duplication d'une pièce" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "Copier les templates de paramètres de catégorie" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "Copier les templates de paramètres de la catégorie lors de la création d'une pièce" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1131 +2315,1129 @@ msgstr "Copier les templates de paramètres de la catégorie lors de la créatio msgid "Template" msgstr "Modèle" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "Les pièces sont des templates par défaut" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Assemblage" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "Les pièces peuvent être assemblées à partir d'autres composants par défaut" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Composant" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "Les pièces peuvent être utilisées comme sous-composants par défaut" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "Achetable" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "Les pièces sont achetables par défaut" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Vendable" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "Les pièces sont vendables par défaut" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Traçable" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "Les pièces sont traçables par défaut" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Virtuelle" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "Les pièces sont virtuelles par défaut" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "Afficher l'import dans les vues" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "Afficher l'assistant d'importation pour certaine vues de produits" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "Afficher les pièces connexes" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "Afficher les pièces connexes à une pièce" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "Stock initial" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "Permettre la création d'un stock initial lors de l'ajout d'une nouvelle pièce" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Données initiales du fournisseur" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Permettre la création des données initiales du fournisseur lors de l'ajout d'une nouvelle pièce" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "Format d'affichage du nom de la pièce" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "Format pour afficher le nom de la pièce" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "Icône de catégorie par défaut" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "Icône par défaut de la catégorie de la pièce (vide signifie aucune icône)" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "Renforcer les unités des paramètres" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "Si des unités sont fournies, les valeurs de paramètre doivent correspondre aux unités spécifiées" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "Nombre minimal de décimales" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Nombre minimum de décimales à afficher lors de l'affichage des prix" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "Utiliser le prix fournisseur" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Inclure les réductions de prix dans le calcul du prix global" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "Remplacer l'historique des achats" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "La tarification historique des bons de commande remplace les réductions de prix des fournisseurs" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "Utiliser les prix des articles en stock" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Utiliser les prix des données de stock saisies manuellement pour calculer les prix" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "Âge de tarification des articles de stock" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Exclure les articles en stock datant de plus de ce nombre de jours des calculs de prix" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "Utiliser les prix variants" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "Inclure la tarification variante dans le calcul global des prix" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "Variantes actives uniquement" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "N'utiliser que des pièces de variante actives pour calculer le prix de la variante" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "Intervalle de regénération des prix" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "Nombre de jours avant la mise à jour automatique du prix de la pièce" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "Prix internes" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "Activer les prix internes pour les pièces" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "Substitution du prix interne" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "Si disponible, les prix internes remplacent les calculs de la fourchette de prix" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "Activer l'impression d'étiquettes" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "Activer l'impression d'étiquettes depuis l'interface Web" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "Étiquette image DPI" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Résolution DPI lors de la génération de fichiers image pour fournir aux plugins d'impression d'étiquettes" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "Activer les rapports" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "Activer la génération de rapports" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "Mode Débogage" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "Générer des rapports en mode debug (sortie HTML)" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "Journal des erreurs" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "Taille de la page" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "Taille de page par défaut pour les rapports PDF" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "Activer les rapports de test" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "Activer la génération de rapports de test" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "Joindre des rapports de test" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Lors de l'impression d'un rapport de test, joignez une copie du rapport de test à l'article en stock associé" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "Numéro de Série Universellement Unique" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "Les numéros de série pour les articles en stock doivent être uniques au niveau global" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "Remplir automatiquement les Numéros de Série" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "Remplir automatiquement les numéros de série dans les formulaires" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "Supprimer le stock épuisé" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "Modèle de code de lot" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "Modèle pour générer des codes par défaut pour les articles en stock" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "Expiration du stock" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "Activer la fonctionnalité d'expiration du stock" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "Vendre le stock expiré" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "Autoriser la vente de stock expiré" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "Délai de péremption du stock" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "Nombre de jours pendant lesquels les articles en stock sont considérés comme périmés avant d'expirer" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "Construction de stock expirée" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "Autoriser la construction avec un stock expiré" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "Contrôle de la propriété des stocks" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "Activer le contrôle de la propriété sur les emplacements de stock et les articles" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "Icône par défaut de l'emplacement du stock" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "Icône par défaut de l'emplacement du stock (vide signifie aucune icône)" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "Afficher les pièces en stock installées" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "Modèle de référence de commande de construction" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "Modèle requis pour générer le champ de référence de l'ordre de construction" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "Activer les retours de commandes" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "Activer la fonctionnalité de retour de commande dans l'interface utilisateur" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "Modèle de référence de retour de commande" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "Modifier les retours de commandes terminées" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "Autoriser la modification des retours après leur enregistrement" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "Modèle de référence de bon de commande" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "Modèle requis pour générer le champ de référence du bon de commande" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "Expédition par défaut du bon de commande" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "Activer la création d'expédition par défaut avec les bons de commandes" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "Modifier les commandes de vente terminées" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Autoriser la modification des commandes de vente après avoir été expédiées ou complétées" -#: common/models.py:1878 -#, fuzzy -#| msgid "Mark order as complete" +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" -msgstr "Marquer la commande comme complète" +msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "Modèle de référence de commande d'achat" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "Modèle requis pour générer le champ de référence de bon de commande" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "Modifier les bons de commande terminés" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Autoriser la modification des bons de commande après avoir été expédiés ou complétés" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "Activer les mots de passe oubliés" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "Activer la fonction \"Mot de passe oublié\" sur les pages de connexion" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "Activer les inscriptions" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "Activer l'auto-inscription pour les utilisateurs sur les pages de connexion" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "Activer le SSO" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "Activer le SSO sur les pages de connexion" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "Activer l'inscription SSO" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Activer l'auto-inscription via SSO pour les utilisateurs sur les pages de connexion" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "Email requis" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "Exiger que l'utilisateur fournisse un mail lors de l'inscription" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "Saisie automatique des utilisateurs SSO" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "Remplir automatiquement les détails de l'utilisateur à partir des données de compte SSO" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "Courriel en double" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mail" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "Mot de passe deux fois" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mot de passe" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "Domaines autorisés" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "Grouper sur inscription" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "Groupe auquel les nouveaux utilisateurs sont assignés lors de l'inscription" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "Forcer l'authentification multifacteurs" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "Les utilisateurs doivent utiliser l'authentification multifacteurs." -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "Vérifier les plugins au démarrage" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Vérifier que tous les plugins sont installés au démarrage - activer dans les environnements conteneurs" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "Activer l'intégration d'URL" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "Autoriser les plugins à ajouter des chemins URL" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "Activer l'intégration de navigation" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "Activer les plugins à s'intégrer dans la navigation" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "Activer l'intégration de plugins" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "Activer l'intégration de plugin pour ajouter des apps" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "Activer l'intégration du planning" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "Autoriser les plugins à éxécuter des tâches planifiées" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "Activer l'intégration des évènements" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "Autoriser les plugins à répondre aux évènements internes" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "Activer les codes projet" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "Fonctionnalité d'inventaire" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Activer la fonctionnalité d'inventaire pour enregistrer les niveaux de stock et le calcul de la valeur du stock" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "Période de l'inventaire automatique" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Nombre de jours entre l'enregistrement automatique des stocks (définir à zéro pour désactiver)" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Les rapports d'inventaire seront supprimés après le nombre de jours spécifié" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "Clé du paramètre (doit être unique - insensible à la casse)" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "Afficher les composants suivis" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "Afficher les composants suivis sur l'écran d'accueil" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "Afficher les catégories suivies" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "Afficher les catégories de pièces suivies sur la page d'accueil" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "Afficher les dernières pièces" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "Afficher les derniers composants sur la page d'accueil" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "Afficher les listes de matériaux en attente de validation sur la page d'accueil" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "Afficher les dernières modifications du stock" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "Afficher les articles de stock récemment modifiés sur la page d'accueil" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "Afficher le stock faible" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "Afficher les articles en stock bas sur la page d'accueil" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "Afficher le stock épuisé" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "Afficher les stocks épuisés sur la page d'accueil" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "Afficher le stock nécessaire" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "Afficher les pièces en stock nécessaires pour les assemblages sur la page d'accueil" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "Afficher le stock expiré" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "Afficher les pièces en stock expirées sur la page d'accueil" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "Afficher le stock périmé" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "Afficher les articles de stock périmés sur la page d'accueil" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "Afficher les constructions en attente" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "Afficher les constructions en attente sur la page d'accueil" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "Afficher les constructions en retard" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "Afficher les constructions en retard sur la page d'accueil" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "Afficher les commandes en suspens" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "Afficher les commandes en suspens sur la page d'accueil" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "Afficher les commandes en retard" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "Afficher les commandes en retard sur la page d'accueil" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "Afficher les envois en suspens" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "Afficher les envois en suspens sur la page d'accueil" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "Afficher les envois en retard" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "Afficher les envois en retard sur la page d'accueil" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "Afficher les nouvelles" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "Afficher les nouvelles sur la page d'accueil" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "Affichage du libellé en ligne" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Afficher les étiquettes PDF dans le navigateur, au lieu de les télécharger en tant que fichier" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "Imprimante d'étiquettes par défaut" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "Configurer quelle imprimante d'étiquette doit être sélectionnée par défaut" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "Affichage du rapport en ligne" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Afficher les rapports PDF dans le navigateur, au lieu de les télécharger en tant que fichier" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "Rechercher de pièces" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "Afficher les pièces dans la fenêtre d'aperçu de la recherche" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "Recherche du fournisseur de pièces" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "Afficher les pièces du fournisseur dans la fenêtre de prévisualisation de la recherche" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "Rechercher les pièces du fabricant" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "Afficher les pièces du fabricant dans la fenêtre de prévisualisation de recherche" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "Masquer les pièces inactives" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "Exclure les pièces inactives de la fenêtre de prévisualisation de recherche" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "Rechercher des catégories" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "Afficher les catégories de pièces dans la fenêtre de prévisualisation de recherche" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "Rechercher dans le stock" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "Afficher les pièces en stock dans la fenêtre d'aperçu de la recherche" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "Cacher les pièces indisponibles" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "Exclure les articles en stock qui ne sont pas disponibles de la fenêtre de prévisualisation de recherche" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "Chercher des Emplacements" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "Afficher les emplacements dans la fenêtre d'aperçu de la recherche" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "Rechercher les entreprises" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "Afficher les entreprises dans la fenêtre de prévisualisation de recherche" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "Rechercher les commandes de construction" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "Afficher les commandes de construction dans la fenêtre de prévisualisation de recherche" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "Rechercher des bons de commande" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "Afficher les bons de commande dans la fenêtre de prévisualisation de recherche" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "Exclure les bons de commande inactifs" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "Exclure les commandes d’achat inactives de la fenêtre de prévisualisation de recherche" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "Rechercher les bons de commande" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "Afficher les bons de commande dans la fenêtre de prévisualisation de la recherche" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "Exclure les bons de commande inactives" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "Exclure les bons de commande inactifs de la fenêtre de prévisualisation de recherche" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "Rechercher les commandes retournées" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "Résultats de l'aperçu de la recherche" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "Nombre de résultats à afficher dans chaque section de la fenêtre de prévisualisation de recherche" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "Recherche Regex" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "Afficher la quantité dans les formulaires" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "Afficher la quantité disponible dans certains formulaires" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "La touche Echap ferme les formulaires" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "Utilisez la touche Echap pour fermer les formulaires modaux" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "Barre de navigation fixe" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "La position de la barre de navigation est fixée en haut de l'écran" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "Format de date" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "Format préféré pour l'affichage des dates" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planification des pièces" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "Afficher les informations de planification des pièces" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventaire des pièces" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "Longueur de la chaîne dans les Tableau" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3436,24 +3445,24 @@ msgstr "" msgid "Price" msgstr "Prix" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3464,101 +3473,101 @@ msgstr "" msgid "Active" msgstr "Actif" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "Ce webhook (lien de rappel HTTP) est-il actif" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "Jeton" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "Jeton d'accès" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "Confidentiel" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "ID message" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "Identifiant unique pour ce message" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "Hôte" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "Hôte à partir duquel ce message a été reçu" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "Entête" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "En-tête de ce message" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "Corps" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "Corps de ce message" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "Endpoint à partir duquel ce message a été reçu" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "Le travail sur ce message est-il terminé ?" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "Id" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titre" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "Publié" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Auteur" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "Résumé" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "Lu" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "Cette nouvelle a-t-elle été lue ?" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3568,31 +3577,39 @@ msgstr "Cette nouvelle a-t-elle été lue ?" msgid "Image" msgstr "Image" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "Fichier image" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Symbole" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "Symbole d'unité facultatif" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Définition" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "Définition de l'unité" @@ -3690,6 +3707,23 @@ msgstr "Mots-clés Arguments" msgid "Task keyword arguments" msgstr "Mots-clés arguments tâche" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "Un domaine vide n'est pas autorisé." + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "Nom de domaine invalide : {domain}" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3920,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "Lien vers les informations de l'adresse (externe)" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -3931,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3946,7 +3980,7 @@ msgid "Select manufacturer" msgstr "Sélectionner un fabricant" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3991,7 +4025,7 @@ msgid "Parameter value" msgstr "Valeur du paramètre" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4017,7 +4051,7 @@ msgstr "La pièce du fabricant liée doit faire référence à la même pièce d #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4034,7 +4068,7 @@ msgstr "Fournisseur" msgid "Select supplier" msgstr "Sélectionner un fournisseur" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "Unité de gestion des stocks des fournisseurs" @@ -4055,26 +4089,26 @@ msgid "Supplier part description" msgstr "Description de la pièce du fournisseur" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "coût de base" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "Frais minimums (par exemple frais de stock)" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4099,7 +4133,7 @@ msgstr "Nombre de paquet" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "plusieurs" @@ -4119,11 +4153,11 @@ msgstr "Disponibilité mise à jour" msgid "Date of last update of availability data" msgstr "Date de dernière mise à jour des données de disponibilité" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "Devise par défaut utilisée pour ce fournisseur" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4196,7 +4230,7 @@ msgstr "Supprimer image" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4407,7 +4441,7 @@ msgstr "Aucune information sur le fabricant disponible" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4507,7 +4541,7 @@ msgid "No supplier information available" msgstr "Aucune information de fournisseur disponible" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4557,10 +4591,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4714,7 +4748,7 @@ msgstr "Type de configuration" msgid "Total Price" msgstr "Prix Total" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4772,11 +4806,11 @@ msgstr "Retour de commande" msgid "Total price for this order" msgstr "Prix total pour cette commande" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "Devise de la commande" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4884,16 +4918,12 @@ msgid "shipped by" msgstr "expédié par" #: order/models.py:1027 -#, fuzzy -#| msgid "Build output is already completed" msgid "Order is already complete" -msgstr "L'ordre de production a déjà été réalisé" +msgstr "" #: order/models.py:1030 -#, fuzzy -#| msgid "Order cannot be cancelled" msgid "Order is already cancelled" -msgstr "La commande ne peut pas être annulée" +msgstr "" #: order/models.py:1034 msgid "Only an open order can be marked as complete" @@ -4965,7 +4995,7 @@ msgstr "Reçu" msgid "Number of items received" msgstr "Nombre d'éléments reçus" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5027,8 +5057,8 @@ msgstr "Vérifié par" msgid "User who checked this shipment" msgstr "Utilisateur qui a vérifié cet envoi" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Envoi" @@ -5076,7 +5106,7 @@ msgstr "Impossible d'allouer le stock à une ligne sans pièce" msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantité d'allocation ne peut pas excéder la quantité en stock" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5150,7 +5180,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5159,163 +5189,163 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "La commande ne peut pas être annulée" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "La commande n'est pas ouverte" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "Devise du prix d'achat" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 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:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Code-barres" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "Le code-barres est déjà utilisé" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "Une quantité entière doit être fournie pour les pièces tracables" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "Devise du prix de vente" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "Entrez les numéros de série à allouer" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1416 +#: order/serializers.py:1417 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:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "Les numéros de série suivants sont déjà alloués" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5741,34 +5771,34 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "ID de composant" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Nom de l'article" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "Description pièce" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "Révision" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Mots-clés" @@ -5777,11 +5807,11 @@ msgstr "Mots-clés" msgid "Part Image" msgstr "Image pièce" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "ID catégorie" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "Nom catégorie" @@ -5793,11 +5823,11 @@ msgstr "ID Emplacement par défaut" msgid "Default Supplier ID" msgstr "ID Fournisseur par défaut" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variante de" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Stock Minimum" @@ -5810,12 +5840,12 @@ msgstr "Utilisé pour" msgid "Building" msgstr "Construction" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "Coût minimal" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "Coût maximal" @@ -5833,8 +5863,8 @@ msgstr "" msgid "Category Path" msgstr "Chemin catégorie" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5857,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Prix Minimum" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5949,8 +5979,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5958,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "Catégorie" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "Utilise" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Emplacement par défaut" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Stock total" @@ -5976,371 +6006,371 @@ msgstr "Stock total" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Catégorie de composant" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Catégories de composants" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "Structurel" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "Mots-clés par défaut" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "Nom de l'article" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "Catégorie de la pièce" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "Est-ce que cette pièce est active ?" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "Création Utilisateur" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "Propriétaire responsable de cette pièce" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "Ventes multiples" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "Coût minimum de vente" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6352,686 +6382,686 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "Notes additionnelles" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "Nom de test" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Activé" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Requis" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "Valeur requise" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "Données" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Valeur par Défaut" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Surplus" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Validée" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "Devise d'achat de l'item" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "Copier l'image" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "Copier les paramètres" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -7257,15 +7287,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "Fabricants de composants" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8314,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "Aucun objet valide n'a été fourni au modèle" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8330,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -8838,7 +8868,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8883,7 +8913,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" @@ -8895,7 +8925,7 @@ msgstr "" msgid "Serial number for this item" msgstr "Numéro de série pour cet article" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" @@ -8972,7 +9002,7 @@ msgstr "Les numéros de série doivent être une liste de nombres entiers" msgid "Quantity does not match serial numbers" msgstr "La quantité ne correspond pas au nombre de numéros de série" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "Les numéros de série existent déjà" @@ -9004,7 +9034,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9128,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "Entrez le nombre d'articles en stock à sérialiser" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "Entrez les numéros de série pour les nouveaux articles" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:644 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:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "" @@ -9450,7 +9480,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "" @@ -9470,11 +9500,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10205,20 +10235,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "" @@ -10711,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "" @@ -14340,3 +14370,4 @@ msgstr "Droit de modifier des élément" #: users/models.py:413 msgid "Permission to delete items" msgstr "Droit de supprimer des éléments" + diff --git a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po index 422c975cbd..67a6e8840f 100644 --- a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:54\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -56,18 +56,18 @@ msgstr "" msgid "Enter date" msgstr "הזן תאריך סיום" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "קובץ מצורף" msgid "Select file to attach" msgstr "בחר קובץ לצירוף" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "בחר קובץ לצירוף" msgid "Link" msgstr "קישור" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "קישור חיצוני" @@ -440,10 +440,10 @@ msgstr "הערה" msgid "File comment" msgstr "הערת קובץ" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "" msgid "Invalid choice" msgstr "בחירה שגויה" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "שם" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "מקור" msgid "Path" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "המספר חייב להיות תקין" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "שם קובץ" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "" @@ -750,14 +750,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "" msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -972,8 +972,8 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1109,10 +1109,10 @@ msgstr "" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "מספרים סידוריים" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "" @@ -1435,11 +1435,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "" @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "" @@ -1914,6 +1914,22 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "" - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1129 +2315,1129 @@ msgstr "" msgid "Template" msgstr "" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1878 +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3434,24 +3445,24 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3462,101 +3473,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3566,31 +3577,39 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3688,6 +3707,23 @@ msgstr "" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "" + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3918,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -3929,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,7 +3980,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3989,7 +4025,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4015,7 +4051,7 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4032,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "" @@ -4053,26 +4089,26 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4097,7 +4133,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "" @@ -4117,11 +4153,11 @@ msgstr "" msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4194,7 +4230,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4405,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4505,7 +4541,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4555,10 +4591,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4712,7 +4748,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4770,11 +4806,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +4995,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5021,8 +5057,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" @@ -5070,7 +5106,7 @@ msgstr "" msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5144,7 +5180,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5153,163 +5189,163 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5735,34 +5771,34 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5771,11 +5807,11 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5787,11 +5823,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5804,12 +5840,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5827,8 +5863,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5943,8 +5979,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5952,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5970,371 +6006,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6346,686 +6382,686 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -7251,15 +7287,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8308,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8324,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -8832,7 +8868,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8877,7 +8913,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" @@ -8889,7 +8925,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" @@ -8966,7 +9002,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" @@ -8998,7 +9034,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9122,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "" @@ -9444,7 +9480,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "" @@ -9464,11 +9500,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10199,20 +10235,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "" @@ -10705,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "" @@ -14334,3 +14370,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po index 009acd345f..377e83feb1 100644 --- a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:55\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Language: hi_IN\n" @@ -56,18 +56,18 @@ msgstr "" msgid "Enter date" msgstr "तारीख दर्ज करें" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "" @@ -440,10 +440,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "" msgid "Path" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "" @@ -750,14 +750,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "" msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -972,8 +972,8 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1109,10 +1109,10 @@ msgstr "" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "" @@ -1435,11 +1435,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "" @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "" @@ -1914,6 +1914,22 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "" - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1129 +2315,1129 @@ msgstr "" msgid "Template" msgstr "" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1878 +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3434,24 +3445,24 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3462,101 +3473,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3566,31 +3577,39 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3688,6 +3707,23 @@ msgstr "" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "" + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3918,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -3929,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,7 +3980,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3989,7 +4025,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4015,7 +4051,7 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4032,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "" @@ -4053,26 +4089,26 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4097,7 +4133,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "" @@ -4117,11 +4153,11 @@ msgstr "" msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4194,7 +4230,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4405,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4505,7 +4541,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4555,10 +4591,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4712,7 +4748,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4770,11 +4806,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +4995,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5021,8 +5057,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" @@ -5070,7 +5106,7 @@ msgstr "" msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5144,7 +5180,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5153,163 +5189,163 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5735,34 +5771,34 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5771,11 +5807,11 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5787,11 +5823,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5804,12 +5840,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5827,8 +5863,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5943,8 +5979,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5952,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5970,371 +6006,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6346,686 +6382,686 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -7251,15 +7287,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8308,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8324,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -8832,7 +8868,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8877,7 +8913,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" @@ -8889,7 +8925,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" @@ -8966,7 +9002,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" @@ -8998,7 +9034,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9122,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "" @@ -9444,7 +9480,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "" @@ -9464,11 +9500,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10199,20 +10235,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "" @@ -10705,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "" @@ -14334,3 +14370,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po index ec2e6703ce..e518ee6f9c 100644 --- a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:54\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -56,18 +56,18 @@ msgstr "A hiba részleteit megtalálod az admin panelen" msgid "Enter date" msgstr "Dátum megadása" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "Melléklet" msgid "Select file to attach" msgstr "Válaszd ki a mellekelni kívánt fájlt" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "Válaszd ki a mellekelni kívánt fájlt" msgid "Link" msgstr "Link" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "Link külső URL-re" @@ -440,10 +440,10 @@ msgstr "Megjegyzés" msgid "File comment" msgstr "Leírás, bővebb infó" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "Duplikált nevek nem lehetnek ugyanazon szülő alatt" msgid "Invalid choice" msgstr "Érvénytelen választás" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "Név" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "szülő" msgid "Path" msgstr "Elérési út" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "Markdown megjegyzések (opcionális)" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "Vonalkód adat" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "Harmadik féltől származó vonalkód adat" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "Vonalkód hash" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "Egyedi vonalkód hash" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "Létező vonalkód" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "Kiszolgálóhiba" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "A kiszolgáló egy hibaüzenetet rögzített." -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "Érvényes számnak kell lennie" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Pénznem" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "Válassz pénznemet a lehetőségek közül" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "Önnek nincs joga változtatni ezen a felhasználói szerepkörön." -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "Csak a superuser-ek hozhatnak létre felhasználókat" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "A fiókod sikeresen létrejött." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "Kérlek használd a jelszó visszállítás funkciót a belépéshez" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "Üdvözlet az InvenTree-ben" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "Fájlnév" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "Érvénytelen érték" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "Adat fájl" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "Fájl kiválasztása feltöltéshez" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "Nem támogatott fájltípus" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "Fájl túl nagy" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "Nem találhatók oszlopok a fájlban" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "Nincsenek adatsorok a fájlban" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "Nincs adatsor megadva" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "Nincs adat oszlop megadva" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Szükséges oszlop hiányzik: '{name}'" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplikált oszlop: '{col}'" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "Távoli kép" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "A távoli kép URL-je" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "Képek letöltése távoli URL-ről nem engedélyezett" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "Háttér folyamat ellenőrzés sikertelen" @@ -750,14 +750,14 @@ msgstr "Verzió információk" msgid "Build must be cancelled before it can be deleted" msgstr "A gyártást be kell fejezni a törlés előtt" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Fogyóeszköz" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "Követett" msgid "Allocated" msgstr "Lefoglalva" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "Gyártási utasítás azonosító" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "Gyártási állapot" msgid "Build status code" msgstr "Gyártás státusz kód" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batch kód" @@ -972,8 +972,8 @@ msgstr "Batch kód" msgid "Batch code for this build output" msgstr "Batch kód a gyártás kimenetéhez" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "Felhasználó aki ezt a gyártási utasítást kiállította" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "Priorítás" msgid "Priority of this build order" msgstr "Gyártási utasítás priorítása" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ 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:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" @@ -1109,10 +1109,10 @@ msgstr "Gyártás objektum" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "Gyártás objektum" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen" msgid "Selected stock item does not match BOM line" msgstr "A készlet tétel nem egyezik az alkatrészjegyzékkel" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "Egész számú mennyiség szükséges az egyedi követésre kötelezett 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:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Sorozatszámok" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "Add meg a sorozatszámokat a gyártás kimenetéhez" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "A kész gyártási kimenetek helye" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1345,8 +1345,7 @@ msgstr "Hiányos foglalás elfogadása" #: build/serializers.py:527 msgid "Complete outputs if stock has not been fully allocated" -msgstr "" -"Kimenetek befejezése akkor is ha a készlet nem\n" +msgstr "Kimenetek befejezése akkor is ha a készlet nem\n" "lett teljesen lefoglalva" #: build/serializers.py:612 @@ -1401,7 +1400,7 @@ msgstr "Fogadd el hogy a készlet tételek nincsenek teljesen lefoglalva ehhez a msgid "Required stock has not been fully allocated" msgstr "A szükséges készlet nem lett teljesen lefoglalva" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "Befejezetlenek elfogadása" @@ -1437,11 +1436,11 @@ msgstr "Gyártás sor tétel" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part ugyanarra az alkatrészre kell mutasson mint a gyártási utasítás" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "A tételnek kell legyen készlete" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Rendelkezésre álló mennyiség ({q}) túllépve" @@ -1454,7 +1453,7 @@ msgstr "Gyártási kimenetet meg kell adni a követésre kötelezett alkatrésze 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:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "A lefoglalandó tételeket meg kell adni" @@ -1498,7 +1497,7 @@ msgstr "Opcionális tételek lefoglalása a gyártáshoz" msgid "Failed to start auto-allocation task" msgstr "Nem sikerült az automatikus lefoglalás feladatot elindítani" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "Alkatrészjegyzék tétel" @@ -1508,7 +1507,7 @@ msgid "Allocated Stock" msgstr "Lefoglalt készlet" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1516,13 +1515,13 @@ msgstr "Lefoglalt készlet" msgid "On Order" msgstr "Rendelve" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "Gyártásban" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1896,11 +1895,11 @@ msgstr "Mellékletek" msgid "Build Notes" msgstr "Gyártási megjegyzések" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "Lefoglalás kész" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "Minden sor rendben lefoglalva" @@ -1916,6 +1915,22 @@ msgstr "Gyártási utasítás részletei" msgid "Incomplete Outputs" msgstr "Befejezetlen kimenetek" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "Nincsen plugin" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1954,351 +1969,346 @@ msgstr "{name.title()} Fájl" msgid "Select {name} file to upload" msgstr "{name} fájl kiválasztása feltöltéshez" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "Frissítve" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "Legutóbbi frissítés időpontja" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "A site URL blokkolva van a konfigurációban" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "Egyedi projektszám" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "Projekt leírása" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "A projektért felelős felhasználó vagy csoport" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "Beállítások kulcs (egyedinek kell lennie, nem kis- nagybetű érzékeny)" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "Beállítás értéke" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "A kiválasztott érték nem egy érvényes lehetőség" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "Az érték bináris kell legyen" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "Az érték egész szám kell legyen" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "Kulcs string egyedi kell legyen" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "Nincs csoport" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "Üres domain nem engedélyezett." - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "Érvénytelen domain név: {domain}" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "Nincsen plugin" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "Újraindítás szükséges" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "Egy olyan beállítás megváltozott ami a kiszolgáló újraindítását igényli" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "Függőben levő migrációk" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "Függőben levő adatbázis migrációk" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "Kiszolgáló példány neve" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "String leíró a kiszolgáló példányhoz" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "Példány név használata" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "Példány név használata a címsorban" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "Verzió infók megjelenítésének tiltása" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "Verzió infók megjelenítése csak admin felhasználóknak" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "Cég neve" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "Belső cégnév" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "Kiindulási URL" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "Kiindulási URL a kiszolgáló példányhoz" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "Alapértelmezett pénznem" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "Válassz alap pénznemet az ár számításokhoz" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "Árfolyam frissítési gyakoriság" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Milyen gyakran frissítse az árfolyamokat (nulla a kikapcsoláshoz)" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "nap" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "Árfolyam frissítő plugin" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "Kiválasztott árfolyam frissítő plugin" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "Letöltés URL-ről" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "Képek és fájlok letöltésének engedélyezése külső URL-ről" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "Letöltési méret korlát" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "Maximum megengedett letöltési mérete a távoli képeknek" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "Felhasznált User-agent az URL-ről letöltéshez" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "A külső URL-ről letöltéshez használt user-agent felülbírálásának engedélyezése (hagyd üresen az alapértelmezéshez)" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "Erős URL validáció" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "Sablon specifikáció igénylése az URL validálásnál" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "Megerősítés igénylése" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "Kérjen felhasználói megerősítést bizonyos műveletekhez" -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "Fa mélység" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Alapértelmezett mélység a fa nézetekben. A mélyebb szintek betöltődnek ha szükségesek." -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "Frissítés keresés gyakorisága" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "Milyen gyakran ellenőrizze van-e új frissítés (0=soha)" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "Automatikus biztonsági mentés" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "Adatbázis és média fájlok automatikus biztonsági mentése" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "Automata biztonsági mentés gyakorisága" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "Hány naponta készüljön automatikus biztonsági mentés" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "Feladat törlési gyakoriság" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "Háttérfolyamat eredmények törlése megadott nap eltelte után" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "Hibanapló törlési gyakoriság" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "Hibanapló bejegyzések törlése megadott nap eltelte után" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "Értesítés törlési gyakoriság" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "Felhasználói értesítések törlése megadott nap eltelte után" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Vonalkód támogatás" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "Vonalkód olvasó támogatás engedélyezése a web felületen" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "Vonalkód beadási késleltetés" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "Vonalkód beadáskor a feldolgozás késleltetési ideje" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "Webkamerás vonalkód olvasás" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "Webkamerás kódolvasás engedélyezése a böngészőből" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "Alkatrész változatok" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "Alkatrész változat vagy verziószám tulajdonság használata" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "IPN reguláris kifejezés" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "Reguláris kifejezés ami illeszkedik az alkatrész IPN-re" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "Többször is előforduló IPN engedélyezése" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "Azonos IPN használható legyen több alkatrészre is" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "IPN szerkesztésének engedélyezése" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "IPN megváltoztatásánsak engedélyezése az alkatrész szerkesztése közben" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "Alkatrészjegyzék adatok másolása" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "Alkatrész másoláskor az alkatrészjegyzék adatokat is másoljuk alapból" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "Alkatrész paraméterek másolása" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "Alkatrész másoláskor a paramétereket is másoljuk alapból" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "Alkatrész teszt adatok másolása" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "Alkatrész másoláskor a tesztek adatait is másoljuk alapból" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "Kategória paraméter sablonok másolása" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "Kategória paraméter sablonok másolása alkatrész létrehozásakor" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2306,1131 +2316,1129 @@ msgstr "Kategória paraméter sablonok másolása alkatrész létrehozásakor" msgid "Template" msgstr "Sablon" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "Alkatrészek alapból sablon alkatrészek legyenek" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Gyártmány" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "Alkatrészeket alapból lehessen gyártani másik alkatrészekből" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Összetevő" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "Alkatrészek alapból használhatók összetevőként más alkatrészekhez" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "Beszerezhető" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "Alkatrészek alapból beszerezhetők legyenek" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Értékesíthető" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "Alkatrészek alapból eladhatók legyenek" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Követésre kötelezett" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "Alkatrészek alapból követésre kötelezettek legyenek" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Virtuális" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "Alkatrészek alapból virtuálisak legyenek" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "Importálás megjelenítése a nézetekben" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "Import segéd megjelenítése néhány alkatrész nézetben" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "Kapcsolódó alkatrészek megjelenítése" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "Alkatrész kapcsolódó alkatrészeinek megjelenítése" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "Kezdeti készlet adatok" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "Kezdeti készlet létrehozása új alkatrész felvételekor" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Kezdeti beszállítói adatok" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Kezdeti beszállítói adatok létrehozása új alkatrész felvételekor" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "Alkatrész név megjelenítés formátuma" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "Formátum az alkatrész név megjelenítéséhez" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "Alkatrész kategória alapértelmezett ikon" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "Alkatrész kategória alapértelmezett ikon (üres ha nincs)" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "Csak választható mértékegységek" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "A megadott mértékegység csak a beállított lehetőségekből legyen elfogadva" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "Áraknál használt tizedesjegyek min. száma" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Tizedejegyek minimális száma az árak megjelenítésekor" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "Áraknál használt tizedesjegyek max. száma" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Tizedejegyek maximális száma az árak megjelenítésekor" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "Beszállítói árazás használata" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Beszállítói ársávok megjelenítése az általános árkalkulációkban" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "Beszerzési előzmények felülbírálása" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Beszerzési árelőzmények felülírják a beszállítói ársávokat" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "Készlet tétel ár használata" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "A kézzel bevitt készlet tétel árak használata az árszámításokhoz" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "Készlet tétel ár kora" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Az ennyi napnál régebbi készlet tételek kizárása az árszámításból" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "Alkatrészváltozat árak használata" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "Alkatrészváltozat árak megjelenítése az általános árkalkulációkban" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "Csak az aktív változatokat" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "Csak az aktív alkatrészváltozatok használata az árazásban" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "Árazás újraszámítás gyakoriság" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "Árak automatikus frissítése ennyi nap után" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "Belső árak" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "Alkatrészekhez belső ár engedélyezése" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "Belső ár felülbírálása" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "Ha elérhetőek az árkalkulációkban a belső árak lesznek alapul véve" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "Címke nyomtatás engedélyezése" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "Címke nyomtatás engedélyezése a web felületről" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "Címke kép DPI" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Képek felbontása amik átadásra kerülnek címkenyomtató pluginoknak" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "Riportok engedélyezése" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "Riportok előállításának engedélyezése" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "Debug mód" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "Riportok előállítása HTML formátumban (hibakereséshez)" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "Jelentési hibák naplózása" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "Jelentések generálása közben jelentkező hibák naplózása" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "Lapméret" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "Alapértelmezett lapméret a PDF riportokhoz" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "Teszt riportok engedélyezése" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "Teszt riportok előállításának engedélyezése" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "Teszt riportok hozzáadása" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Teszt riport nyomtatáskor egy másolat hozzáadása a készlet tételhez" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "Globálisan egyedi sorozatszámok" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "A sorozatszámoknak egyedinek kell lennie a teljes készletre vonatkozóan" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "Sorozatszámok automatikus kitöltése" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "Sorozatszámok automatikus kitöltése a formokon" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "Kimerült készlet törlése" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "Alapértelmezett művelet mikor a készlet tétel elfogy" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "Batch kód sablon" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "Sablon a készlet tételekhez alapértelmezett batch kódok előállításához" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "Készlet lejárata" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "Készlet lejárat kezelésének engedélyezése" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "Lejárt készlet értékesítése" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "Lejárt készlet értékesítésének engedélyezése" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "Álló készlet ideje" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "Napok száma amennyivel a lejárat előtt a készlet tételeket állottnak vesszük" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "Lejárt készlet gyártása" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "Gyártás engedélyezése lejárt készletből" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "Készlet tulajdonosok kezelése" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "Tulajdonosok kezelésének engedélyezése a készlet helyekre és tételekre" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "Hely alapértelmezett ikon" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "Hely alapértelmezett ikon (üres ha nincs)" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "Beépített készlet megjelenítése" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "Beépített készlet tételek megjelenítése a készlet táblákban" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "Tételek telepítésekor a darabjegyzék ellenőrzése" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "A beépített tételeknek a szülő elem darabjegyzékében szerepelniük kell" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "Gyártási utasítás azonosító minta" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "Szükséges minta a gyártási utasítás azonosító mező előállításához" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "Felelős tulajdonos szükséges" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "Minden rendeléshez felelőst kell rendelni" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "Blokkolás a tesztek sikeres végrehajtásáig" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Nem lehet gyártási tételt befejezni amíg valamennyi kötelező teszt sikeres nem lett" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "Visszavétel engedélyezése" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "Visszavételek engedélyezése a felületen" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "Visszavétel azonosító minta" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "Szükséges minta a visszavétel azonosító mező előállításához" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "Befejezett visszavétel szerkesztése" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "Visszavétel szerkesztésének engedélyezése befejezés után" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "Vevői rendelés azonosító minta" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "Szükséges minta a vevői rendelés azonosító mező előállításához" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "Vevői rendeléshez alapértelmezett szállítmány" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "Szállítmány automatikus létrehozása az új vevő rendelésekhez" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "Befejezett vevői rendelés szerkesztése" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Vevői rendelések szerkesztésének engedélyezése szállítás vagy befejezés után" -#: common/models.py:1878 -#, fuzzy -#| msgid "Mark this order as complete?" +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" -msgstr "Rendelés befejezettnek jelölése?" +msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "Beszerzési rendelés azonosító minta" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "Szükséges minta a beszerzési rendelés azonosító mező előállításához" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "Befejezett beszerzési rendelés szerkesztése" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Beszérzési rendelések szerkesztésének engedélyezése kiküldés vagy befejezés után" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "Beszerzési rendelések automatikus befejezése" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "A beszerzési rendelés automatikus befejezése ha minden sortétel beérkezett" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "Elfelejtett jelszó engedélyezése" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "Elfelejtett jelszó funkció engedélyezése a bejentkező oldalon" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "Regisztráció engedélyezése" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "Felhaszálók önkéntes regisztrációjának engedélyezése a bejelentkező oldalon" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "SSO engedélyezése" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "SSO engedélyezése a bejelentkező oldalon" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "SSO regisztráció engedélyezése" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Felhaszálók önkéntes regisztrációjának engedélyezése SSO-n keresztül a bejelentkező oldalon" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "Email szükséges" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "Kötelező email megadás regisztrációkor" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "SSO felhasználók automatikus kitöltése" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "Felhasználó adatainak automatikus kitöltése az SSO fiókadatokból" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "Email kétszer" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "Regisztráláskor kétszer kérdezze a felhasználó email címét" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "Jelszó kétszer" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "Regisztráláskor kétszer kérdezze a felhasználó jelszavát" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "Engedélyezett domainek" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Feliratkozás korlátozása megadott domain-ekre (vesszővel elválasztva, @-al kezdve)" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "Csoport regisztráláskor" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "Csoport amihez a frissen regisztrált felhasználók hozzá lesznek rendelve" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "Többfaktoros hitelesítés kényszerítése" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "A felhasználóknak többfaktoros hitelesítést kell használniuk." -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "Pluginok ellenőrzése indításkor" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Ellenőrizze induláskor hogy minden plugin telepítve van - engedélyezd konténer környezetben (docker)" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "Plugin frissítések ellenőrzése" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "Frissítések periódikus ellenőrzésének engedélyezése a telepített pluginokra" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "URL integráció engedélyezése" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "URL útvonalalak hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "Navigációs integráció engedélyezése" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "Navigációs integráció engedélyezése a pluginok számára" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "App integráció engedélyezése" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "App hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "Ütemezés integráció engedélyezése" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "Háttérben futó feladatok hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "Esemény integráció engedélyezése" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "Belső eseményekre reagálás engedélyezése a pluginok számára" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "Projektszámok engedélyezése" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "Projektszámok használatának engedélyezése a projektek követéséhez" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "Leltár funkció" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Leltár funkció engedélyezése a készlet mennyiség és érték számításhoz" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "Külső helyek nélkül" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Külső helyek figyelmen kívül hagyása a leltár számításoknál" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "Automatikus leltár időpontja" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Hány naponta történjen automatikus leltár (nulla egyenlő tiltva)" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "Riport törlési gyakoriság" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Régi leltár riportok törlése hány naponta történjen" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "Felhasználók teljes nevének megjelenítése" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "Felhasználói név helyett a felhasználók teljes neve jelenik meg" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "Teszt állomás adatok engedélyezése" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "Tesztállomás adatok gyűjtésének teszt eredménybe gyűjtésének engedélyezése" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "Beállítások kulcs (egyedinek kell lennie, nem kis- nagybetű érzékeny" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Nem aktív alkatrészek elrejtése a kezdőlapon" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "Értesítésre beállított alkatrészek megjelenítése" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "Alkatrész értesítések megjelenítése a főoldalon" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "Értesítésre beállított kategóriák megjelenítése" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "Alkatrész kategória értesítések megjelenítése a főoldalon" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "Legújabb alkatrészek megjelenítése" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "Legújabb alkatrészek megjelenítése a főoldalon" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "Hibás alkatrészjegyzékek megjelenítése" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "Jóváhagyásra váró alkatrészjegyzékek megjelenítése a főoldalon" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "Legfrissebb készlet változások megjelenítése" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "Legutóbb megváltozott alkatrészek megjelenítése a főoldalon" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "Alacsony készlet megjelenítése" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "Alacsony készletek megjelenítése a főoldalon" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "Kimerült készlet megjelenítése" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "Kimerült készletek megjelenítése a főoldalon" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "Gyártáshoz szükséges készlet megjelenítése" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "Gyártáshoz szükséges készletek megjelenítése a főoldalon" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "Lejárt készlet megjelenítése" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "Lejárt készletek megjelenítése a főoldalon" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "Állott készlet megjelenítése" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "Álló készletek megjelenítése a főoldalon" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "Függő gyártások megjelenítése" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "Folyamatban lévő gyártások megjelenítése a főoldalon" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "Késésben lévő gyártások megjelenítése" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "Késésben lévő gyártások megjelenítése a főoldalon" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "Kintlévő beszerzési rendelések megjelenítése" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "Kintlévő beszerzési rendelések megjelenítése a főoldalon" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "Késésben lévő megrendelések megjelenítése" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "Késésben lévő megrendelések megjelenítése a főoldalon" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "Függő vevői rendelések megjelenítése" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "Függő vevői rendelések megjelenítése a főoldalon" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "Késésben lévő vevői rendelések megjelenítése" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "Késésben lévő vevői rendelések megjelenítése a főoldalon" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "Függő vevői szállítmányok megjelenítése" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "Folyamatban lévő vevői szállítmányok megjelenítése a főoldalon" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "Hírek megjelenítése" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "Hírek megjelenítése a főoldalon" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "Beágyazott címke megjelenítés" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "PDF címkék megjelenítése a böngészőben letöltés helyett" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "Alapértelmezett címkenyomtató" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "Melyik címkenyomtató legyen az alapértelmezett" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "Beágyazott riport megjelenítés" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "PDF riport megjelenítése a böngészőben letöltés helyett" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "Alkatrészek keresése" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "Alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "Beszállítói alkatrészek keresése" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "Beszállítói alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "Gyártói alkatrészek keresése" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "Gyártói alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "Inaktív alkatrészek kihagyása a keresési előnézet találataiból" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "Kategóriák keresése" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "Alkatrész kategóriák megjelenítése a keresési előnézetben" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "Készlet keresése" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "Készlet tételek megjelenítése a keresési előnézetben" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "Nem elérhető készlet tételek elrejtése" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "Nem elérhető készlet kihagyása a keresési előnézet találataiból" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "Helyek keresése" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "Készlet helyek megjelenítése a keresési előnézetben" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "Cégek keresése" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "Cégek megjelenítése a keresési előnézetben" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "Gyártási utasítások keresése" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "Gyártási utasítások megjelenítése a keresés előnézet ablakban" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "Beszerzési rendelések keresése" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "Beszerzési rendelések megjelenítése a keresési előnézetben" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktív beszerzési rendelések kihagyása" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inaktív beszerzési rendelések kihagyása a keresési előnézet találataiból" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "Vevői rendelések keresése" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "Vevői rendelések megjelenítése a keresési előnézetben" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "Inaktív vevői rendelések kihagyása" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "Inaktív vevői rendelések kihagyása a keresési előnézet találataiból" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "Visszavétel keresése" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "Visszavételek megjelenítése a keresés előnézet ablakban" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "Inaktív visszavételek kihagyása" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "Inaktív visszavételek kihagyása a keresési előnézet találataiból" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "Keresési előnézet eredményei" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "A keresési előnézetben megjelenítendő eredmények száma szekciónként" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "Regex keresés" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "Reguláris kifejezések engedélyezése a keresésekben" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "Teljes szó keresés" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "A keresések csak teljes szóra egyező találatokat adjanak" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "Mennyiség megjelenítése a formokon" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "Rendelkezésre álló alkatrész mennyiség megjelenítése néhány formon" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "ESC billentyű zárja be a formot" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "ESC billentyű használata a modális formok bezárásához" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "Rögzített menüsor" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "A menü pozíciója mindig rögzítve a lap tetején" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "Dátum formátum" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "Preferált dátum formátum a dátumok kijelzésekor" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Alkatrész ütemezés" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "Alkatrész ütemezési információk megjelenítése" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Alkatrész leltár" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Alkatrész leltár információk megjelenítése (ha a leltár funkció engedélyezett)" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "Táblázati szöveg hossz" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "Maximális szöveg hossz ami megjelenhet a táblázatokban" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "Alapértelmezett alkatrész címke sablon" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "Az alapértelmezetten kiválasztott alkatrész címke sablon" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "Alapértelmezett készlet címke sablon" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "Az alapértelmezetten kiválasztott készlet címke sablon" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "Alapértelmezett készlethely címke sablon" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "Az alapértelmezetten kiválasztott készlethely címke sablon" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "Alapértelmezett gyártási tétel címke sablon" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "Az alapértelmezetten kiválasztott gyártási tétel címke sablon" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "Hibariportok fogadása" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "Értesítések fogadása a rendszerhibákról" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "Utoljára használt nyomtató gépek" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "Az utoljára használt nyomtató tárolása a felhasználóhoz" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "Ársáv mennyiség" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3438,24 +3446,24 @@ msgstr "Ársáv mennyiség" msgid "Price" msgstr "Ár" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "Egységár egy meghatározott mennyiség esetén" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "Végpont" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "Végpont ahol ez a webhook érkezik" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "Webhook neve" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3466,101 +3474,101 @@ msgstr "Webhook neve" msgid "Active" msgstr "Aktív" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "Aktív-e ez a webhook" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "Token" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "Token a hozzáféréshez" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "Titok" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "Megosztott titok a HMAC-hoz" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "Üzenet azonosító" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "Egyedi azonosító ehhez az üzenethez" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "Kiszolgáló" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "Kiszolgáló ahonnan ez az üzenet érkezett" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "Fejléc" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "Üzenet fejléce" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "Törzs" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "Üzenet törzse" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "Végpont amin ez az üzenet érkezett" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "Dolgozott rajta" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "Befejeződött a munka ezzel az üzenettel?" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "Azonosító" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Cím" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "Közzétéve" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Szerző" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "Összefoglaló" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "Elolvasva" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "Elolvasva?" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3570,31 +3578,39 @@ msgstr "Elolvasva?" msgid "Image" msgstr "Kép" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "Képfájl" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "A mértékegységnek valós azonosítónak kell lennie" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "Egység neve" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Szimbólum" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "Opcionális mértékegység szimbólum" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definíció" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "Mértékegység definíció" @@ -3692,6 +3708,23 @@ msgstr "Kulcsszó paraméterek" msgid "Task keyword arguments" msgstr "Feladat kulcsszó paraméterek" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "Üres domain nem engedélyezett." + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "Érvénytelen domain név: {domain}" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3922,7 +3955,7 @@ msgid "Link to address information (external)" msgstr "Link a címinformációkhoz (külső)" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Kiindulási alkatrész" @@ -3933,7 +3966,7 @@ msgstr "Válassz alkatrészt" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3948,7 +3981,7 @@ msgid "Select manufacturer" msgstr "Gyártó kiválasztása" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3993,7 +4026,7 @@ msgid "Parameter value" msgstr "Paraméter értéke" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4019,7 +4052,7 @@ msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészr #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4036,7 +4069,7 @@ msgstr "Beszállító" msgid "Select supplier" msgstr "Beszállító kiválasztása" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "Beszállítói cikkszám" @@ -4057,26 +4090,26 @@ msgid "Supplier part description" msgstr "Beszállítói alkatrész leírása" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "Megjegyzés" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "alap költség" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimális díj (pl. tárolási díj)" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4101,7 +4134,7 @@ msgstr "Csomagolási mennyiség" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Egy csomagban kiszállítható mennyiség, hagyd üresen az egyedi tételeknél." -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "többszörös" @@ -4121,11 +4154,11 @@ msgstr "Elérhetőség frissítve" msgid "Date of last update of availability data" msgstr "Utolsó elérhetőségi adat frissítés" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "Beszállító által használt alapértelmezett pénznem" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4198,7 +4231,7 @@ msgstr "Kép törlése" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4409,7 +4442,7 @@ msgstr "Nincs elérhető gyártói információ" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4509,7 +4542,7 @@ msgid "No supplier information available" msgstr "Nincs elérhető beszállítói információ" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4559,10 +4592,10 @@ msgid "Update Part Availability" msgstr "Alkatrész elérhetőség frissítése" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4716,7 +4749,7 @@ msgstr "Konfiguráció típusa" msgid "Total Price" msgstr "Teljes ár" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4774,11 +4807,11 @@ msgstr "Visszavétel" msgid "Total price for this order" msgstr "A rendelés teljes ára" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "Rendelés pénzneme" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "Megrendeléshez használt pénznem (hagyd üresen a cégnél alapértelmezetthez)" @@ -4886,16 +4919,12 @@ msgid "shipped by" msgstr "szállította" #: order/models.py:1027 -#, fuzzy -#| msgid "Build output is already completed" msgid "Order is already complete" -msgstr "Gyártási kimenet már kész" +msgstr "" #: order/models.py:1030 -#, fuzzy -#| msgid "Order cannot be cancelled" msgid "Order is already cancelled" -msgstr "A rendelést nem lehet törölni" +msgstr "" #: order/models.py:1034 msgid "Only an open order can be marked as complete" @@ -4967,7 +4996,7 @@ msgstr "Beérkezett" msgid "Number of items received" msgstr "Érkezett tételek száma" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5029,8 +5058,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:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Szállítmány" @@ -5078,7 +5107,7 @@ msgstr "Nem foglalható készlet egy olyan sorhoz amiben nincs alkatrész" msgid "Allocation quantity cannot exceed stock quantity" msgstr "A lefoglalandó mennyiség nem haladhatja meg a készlet mennyiségét" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 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" @@ -5152,7 +5181,7 @@ msgstr "Sortétel végső kimenetele" msgid "Cost associated with return or repair for this line item" msgstr "Sortétel visszaküldésének vagy javításának költsége" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5161,163 +5190,163 @@ msgstr "Sortétel visszaküldésének vagy javításának költsége" msgid "Line Items" msgstr "Sortételek" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "Kész sorok" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "A rendelést nem lehet törölni" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 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:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "A rendelésben teljesítetlen sortételek vannak" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "A rendelés nem nyitott" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "Automata árazás" -#: order/serializers.py:463 +#: order/serializers.py:464 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:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "Beszérzési ár pénzneme" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "Elemek összevonása" -#: order/serializers.py:481 +#: order/serializers.py:482 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:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "Beszállítói alkatrészt meg kell adni" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "Beszerzési rendelést meg kell adni" -#: order/serializers.py:510 +#: order/serializers.py:511 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:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "A beszerzési rendelésnek egyeznie kell a beszállítóval" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "Sortétel" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "Sortétel nem egyezik a beszerzési megrendeléssel" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "Válassz cél helyet a beérkezett tételeknek" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "Írd be a batch kódját a beérkezett tételeknek" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "Írd be a sorozatszámokat a beérkezett tételekhez" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Vonalkód" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "Beolvasott vonalkód" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "Ez a vonalkód már használva van" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "Egész számú mennyiség szükséges az egyedi követésre kötelezett alkatrészeknél" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "Sortételt meg kell adni" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "A cél helyet kötelező megadni" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "Megadott vonalkódoknak egyedieknek kel lenniük" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "Eladási ár pénzneme" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "Nincsenek szállítmány részletek megadva" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "Sortétel nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "Mennyiség pozitív kell legyen" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "Írd be a sorozatszámokat a kiosztáshoz" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "Szállítmány kiszállítva" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "Szállítmány nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "Nincs találat a következő sorozatszámokra" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "A következő sorozatszámok már ki lettek osztva" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "Visszavétel sortétel" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "Sortétel nem egyezik a visszavétellel" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "A sortétel már beérkezett" -#: order/serializers.py:1688 +#: order/serializers.py:1689 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:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "Sortétel pénzneme" @@ -5743,34 +5772,34 @@ msgstr "A {part} egységára {price}-ra módosítva" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "A {part} alkatrész módosított egységára {price} mennyisége pedig {qty}" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "Alkatrész ID" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Alkatrész neve" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "Alkatrész leírása" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "IPN (Belső Cikkszám)" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "Változat" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Kulcsszavak" @@ -5779,11 +5808,11 @@ msgstr "Kulcsszavak" msgid "Part Image" msgstr "Alkatrész ábra" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "Kategória ID" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "Kategória neve" @@ -5795,11 +5824,11 @@ msgstr "Alapértelmezett készlethely ID" msgid "Default Supplier ID" msgstr "Alapértelmezett beszállító ID" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Ebből a sablonból" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimális készlet" @@ -5812,12 +5841,12 @@ msgstr "Felhasználva ebben" msgid "Building" msgstr "Gyártásban" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "Minimum költség" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "Maximum költség" @@ -5835,8 +5864,8 @@ msgstr "Szülő neve" msgid "Category Path" msgstr "Kategória elérési út" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5859,17 +5888,17 @@ msgstr "Alkatrészjegyzék tétel ID" msgid "Parent IPN" msgstr "Szülő IPN" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "Alkatrész IPN" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Minimum ár" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5951,8 +5980,8 @@ msgstr "Ennek az opciónak ki kll lennie választva" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5960,16 +5989,16 @@ msgstr "" msgid "Category" msgstr "Kategória" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "Használ" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Alapértelmezett hely" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Teljes készlet" @@ -5978,371 +6007,371 @@ msgstr "Teljes készlet" msgid "Input quantity for price calculation" msgstr "Add meg a mennyiséget az árszámításhoz" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Alkatrész kategória" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Alkatrész kategóriák" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "Ebben a kategóriában lévő alkatrészek helye alapban" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "Szerkezeti" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "A szerkezeti alkatrész kategóriákhoz nem lehet direktben alkatrészeket hozzáadni, csak az alkategóriáikhoz." -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "Alapértelmezett kulcsszavak" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Ikon" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "Ikon (opcionális)" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Nem lehet az alkatrészkategóriát szerkezeti kategóriává tenni, mert már vannak itt alkatrészek!" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "Hibás választás a szülő alkatrészre" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Az '{self}' alkatrész nem használható a '{parent}' alkatrészjegyzékében (mert rekurzív lenne)" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Az '{parent}' alkatrész szerepel a '{self}' alkatrészjegyzékében (rekurzív)" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "Az IPN belső cikkszámnak illeszkednie kell a {pattern} regex mintára" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "Létezik már készlet tétel ilyen a sorozatszámmal" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "Azonos IPN nem engedélyezett az alkatrészekre, már létezik ilyen" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "Ilyen nevű, IPN-ű és reviziójú alkatrész már létezik." -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "Szerkezeti kategóriákhoz nem lehet alkatrészeket rendelni!" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "Alkatrész neve" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "Sablon-e" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "Ez egy sablon alkatrész?" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "Ez az alkatrész egy másik változata?" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "Alkatrész leírása (opcionális)" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "Alkatrész kulcsszavak amik segítik a megjelenést a keresési eredményekben" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "Alkatrész kategória" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "Belső cikkszám" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "Alkatrész változat vagy verziószám (pl. szín, hossz, revízió, stb.)" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "Alapban hol tároljuk ezt az alkatrészt?" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Alapértelmezett beszállító" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "Alapértelmezett beszállítói alkatrész" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "Alapértelmezett lejárat" -#: part/models.py:1035 +#: part/models.py:1036 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:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "Minimálisan megengedett készlet mennyiség" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "Alkatrész mértékegysége" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "Gyártható-e ez az alkatrész más alkatrészekből?" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "Felhasználható-e ez az alkatrész más alkatrészek gyártásához?" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "Kell-e külön követni az egyes példányait ennek az alkatrésznek?" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "Rendelhető-e ez az alkatrész egy külső beszállítótól?" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "Értékesíthető-e önmagában ez az alkatrész a vevőknek?" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "Aktív-e ez az alkatrész?" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "Ez egy virtuális nem megfogható alkatrész, pl. szoftver vagy licenc?" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "Alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "Tárolt alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "Alkatrészjegyzéket ellenőrizte" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "Alkatrészjegyzék ellenőrzési dátuma" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "Létrehozó" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "Alkatrész felelőse" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "Utolsó leltár" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "Több értékesítése" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "Árszámítások gyorstárazásához használt pénznem" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "Minimum alkatrészjegyzék költség" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "Összetevők minimum költsége" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "Maximum alkatrészjegyzék költség" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "Összetevők maximum költsége" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "Minimum beszerzési ár" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "Eddigi minimum beszerzési költség" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "Maximum beszerzési ár" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "Eddigi maximum beszerzési költség" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "Minimum belső ár" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "Minimum költség a belső ársávok alapján" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "Maximum belső ár" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "Maximum költség a belső ársávok alapján" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "Minimum beszállítói ár" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "Minimum alkatrész ár a beszállítóktól" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "Maximum beszállítói ár" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "Maximum alkatrész ár a beszállítóktól" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "Minimum alkatrészváltozat ár" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "Alkatrészváltozatok számolt minimum költsége" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "Maximum alkatrészváltozat ár" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "Alkatrészváltozatok számolt maximum költsége" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "Minimum költség felülbírálása" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "Maximum költség felülbírálása" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "Számított általános minimum költség" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "Számított általános maximum költség" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "Minimum eladási ár" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "Minimum eladási ár az ársávok alapján" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "Maximum eladási ár" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "Maximum eladási ár az ársávok alapján" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "Minimum eladási költség" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "Eddigi minimum eladási ár" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "Maximum eladási költség" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "Eddigi maximum eladási ár" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "Leltározható alkatrész" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "Tételszám" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "Egyedi készlet tételek száma a leltárkor" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "Teljes készlet a leltárkor" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6354,686 +6383,686 @@ msgstr "Teljes készlet a leltárkor" msgid "Date" msgstr "Dátum" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "Leltározva ekkor" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "További megjegyzések" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "Leltározta" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "Minimum készlet érték" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "Becsült minimum raktárkészlet érték" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "Maximum készlet érték" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "Becsült maximum raktárkészlet érték" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Riport" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "Leltár riport fájl (generált)" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Alkatrész szám" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "Leltározott alkatrészek száma" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "Felhasználó aki a leltár riportot kérte" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Hibás sablon név - legalább egy alfanumerikus karakter kötelező" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "Teszt sablont csak követésre kötelezett alkatrészhez lehet csinálni" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "Már létezik ilyen azonosítójú Teszt sablon ehhez az alkatrészhez" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "Teszt név" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "Add meg a teszt nevét" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "Teszt azonosító" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "Egyszerűsített Teszt azonosító" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "Teszt leírása" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "Adj hozzá egy leírást ehhez a teszthez" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Engedélyezve" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "Teszt engedélyezve?" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Kötelező" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "Szükséges-e hogy ez a teszt sikeres legyen?" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "Kötelező érték" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "Szükséges-e hogy ennek a tesztnek az eredményéhez kötelezően érték legyen rendelve?" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "Kötelező melléklet" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "Szükséges-e hogy ennek a tesztnek az eredményéhez kötelezően fájl melléklet legyen rendelve?" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "Jelölőnégyzet paraméternek nem lehet mértékegysége" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "Jelölőnégyzet paraméternek nem lehetnek választási lehetőségei" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "A lehetőségek egyediek kell legyenek" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "A paraméter sablon nevének egyedinek kell lennie" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "Paraméter neve" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "Paraméter mértékegysége" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "Paraméter leírása" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "Jelölőnégyzet" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "Ez a paraméter egy jelölőnégyzet?" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "Lehetőségek" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "Választható lehetőségek (vesszővel elválasztva)" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "Hibás választás a paraméterre" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "Szülő alkatrész" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Paraméter sablon" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "Adat" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "Paraméter értéke" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Alapértelmezett érték" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "Alapértelmezett paraméter érték" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "Alkatrész ID vagy alkatrész név" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "Egyedi alkatrész ID értéke" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "Alkatrész IPN érték" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "Szint" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "Alkatrészjegyzék szint" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "Szülő alkatrész kiválasztása" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "Al alkatrész" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "Ez az alkatrészjegyzék tétel opcionális" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Ez az alkatrészjegyzék tétel fogyóeszköz (készlete nincs követve a gyártásban)" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Többlet" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Becsült gyártási veszteség (abszolút vagy százalékos)" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "Alkatrészjegyzék tétel azonosító" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "Alkatrészjegyzék tétel megjegyzései" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "Ellenőrző összeg" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "Alkatrészjegyzék sor ellenőrző összeg" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Jóváhagyva" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "Ez a BOM tétel jóvá lett hagyva" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "Öröklődött" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Ezt az alkatrészjegyzék tételt az alkatrész változatok alkatrészjegyzékei is öröklik" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Változatok" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Alkatrészváltozatok készlet tételei használhatók ehhez az alkatrészjegyzék tételhez" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "A mennyiség egész szám kell legyen a követésre kötelezett alkatrészek esetén" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "Al alkatrészt kötelező megadni" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "Alkatrészjegyzék tétel helyettesítő" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "A helyettesítő alkatrész nem lehet ugyanaz mint a fő alkatrész" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "Szülő alkatrészjegyzék tétel" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "Helyettesítő alkatrész" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "1.rész" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "2.rész" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "Válassz kapcsolódó alkatrészt" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "Alkatrész kapcsolat nem hozható létre önmagával" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "Már létezik duplikált alkatrész kapcsolat" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Alkategóriák" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "Eredmények" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "Eszerint a sablon szerint rögzített eredmények száma" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "Beszerzési pénzneme ennek a készlet tételnek" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "Ennyi alkatrész használja ezt a sablont" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "Nincs kiválasztva alkatrész" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "Válassz kategóriát" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "Eredeti alkatrész" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "Válassz eredeti alkatrészt a másoláshoz" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "Kép másolása" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "Kép másolása az eredeti alkatrészről" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Alkatrészjegyzék másolása" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "Alkatrészjegyzék másolása az eredeti alkatrészről" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "Paraméterek másolása" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "Paraméterek másolása az eredeti alkatrészről" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "Megjegyzések másolása" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "Megjegyzések másolása az eredeti alkatrészről" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "Kezdeti készlet mennyiség" -#: part/serializers.py:490 +#: part/serializers.py:491 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:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "Kezdeti készlet hely" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "Add meg a kezdeti készlet helyét" -#: part/serializers.py:515 +#: part/serializers.py:516 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:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "Válassz gyártót (hagyd üresen ha nem kell létrehozni)" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "Gyártói cikkszám" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "A kiválasztott cég nem érvényes beszállító" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "A kiválasztott cég nem érvényes gyártó" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "Van már ilyen gyártói alkatrész" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "Van már ilyen beszállítói alkatrész" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "Külső raktárkészlet" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "Nem lefoglalt készlet" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "Variánsok Raktárkészlet" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "Alkatrész másolása" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "Kezdeti adatok másolása egy másik alkatrészről" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Kezdeti készlet" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "Kezdeti készlet mennyiség létrehozása" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "Beszállító információ" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "Kezdeti beszállító adatok hozzáadása" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "Kategória paraméterek másolása" -#: part/serializers.py:897 +#: part/serializers.py:899 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:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "Meglévő kép" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "A meglévő alkatrész képfájl neve" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "A képfájl nem létezik" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Leltár riport korlátozása bizonyos alkatrészre és variánsra" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Leltár riport korlátozása bizonyos alkatrész kategóriára és az alatta lévőkre" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Leltár riport korlátozása bizonyos készlethelyre és az alatta lévőkre" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "Külső készlet nélkül" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "Külső helyeken lévő készlet nélkül" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "Riport létrehozása" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "Riport fájl létrehozása a számított leltár adatokkal" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "Alaktrészek frissítése" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "Megadott alkatrészek frissítése a számított leltár adatokkal" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "Leltár funkció nincs engedélyezve" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "Számított minimum ár felülbírálása" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "Minimum ár pénzneme" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "Számított maximum ár felülbírálása" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "Maximum ár pénzneme" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "Frissítés" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "Alkatrész árak frissítése" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, 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:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "A Minimum ár nem lehet nagyobb mint a Maximum ár" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "A Maximum ár nem lehet kisebb mint a Minimum ár" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "Válassz alkatrészt ahonnan az alkatrészjegyzéket másoljuk" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "Létező adat törlése" -#: part/serializers.py:1740 +#: part/serializers.py:1742 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:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "Örököltekkel együtt" -#: part/serializers.py:1746 +#: part/serializers.py:1748 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:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "Hibás sorok kihagyása" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "Engedély a hibás sorok kihagyására" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "Helyettesítő alkatrészek másolása" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "Helyettesítő alkatrészek másolása az alkatrészjegyzék tételek másolásakor" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "Meglévő alkatrészjegyzék törlése" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "Meglévő alkatrészjegyzék tételek törlése a feltöltés előtt" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "Nincs megadva alkatrész oszlop" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "Több egyező alkatrész is található" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "Nincs egyező alkatrész" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "Az alkatrész nem lett összetevőként jelölve" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "Mennyiség nincs megadva" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "Érvénytelen mennyiség" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "Legalább egy alkatrészjegyzék tétel szükséges" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "Teljes mennyiség" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "Teljes költség min" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "Teljes költség max" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "Leltár riport rendelkezésre áll" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "Egy új leltár riport készen áll a letöltésre" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "Alacsony készlet értesítés" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "A {part.name} alkatrész rendelkezésre álló készlete a megadott minimum alá csökkent" @@ -7259,15 +7288,15 @@ msgstr "Alkatrész beszállítók" msgid "Part Manufacturers" msgstr "Alkatrész gyártók" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "Kapcsolódó alkatrész" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "Kapcsolódó alkatrész hozzáadása" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "Teszt eredmény sablon hozzáadása" @@ -8316,15 +8345,15 @@ msgstr "Konfiguráció törlése" msgid "Delete the plugin configuration from the database" msgstr "Plugin konfiguráció törlése az adatbázisból" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "Nincs érvényes objektum megadva a sablonhoz" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8332,31 +8361,31 @@ msgstr "" msgid "Items" msgstr "Tételek" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "Címkenyomtatási hiba" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "A '{template}' sablon fájl hiányzik vagy nem érhető el" @@ -8840,7 +8869,7 @@ msgstr "Nem lehet ezt a raktári helyet szerkezetivé tenni, mert már vannak it msgid "Stock items cannot be located into structural stock locations!" msgstr "A szerkezeti raktári helyre nem lehet készletet felvenni!" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "Virtuális alkatrészből nem lehet készletet létrehozni" @@ -8885,7 +8914,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:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "A csomagolása ennek a készlet tételnek itt van tárolva" @@ -8897,7 +8926,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:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "Batch kód ehhez a készlet tételhez" @@ -8974,7 +9003,7 @@ msgstr "A sorozatszám egész számok listája kell legyen" msgid "Quantity does not match serial numbers" msgstr "A mennyiség nem egyezik a megadott sorozatszámok számával" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "A sorozatszámok már léteznek" @@ -9006,7 +9035,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:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "Duplikált készlet tételek vannak" @@ -9130,176 +9159,176 @@ msgstr "Sablon azonosító vagy Teszt név szükséges" msgid "The test finished time cannot be earlier than the test started time" msgstr "A tesztet nem lehet a kezdésnél hamarabb befejezni" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "Szériaszám túl nagy" -#: stock/serializers.py:411 +#: stock/serializers.py:414 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:531 +#: stock/serializers.py:534 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:593 +#: stock/serializers.py:596 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:606 +#: stock/serializers.py:609 #, 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:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "Írd be a sorozatszámokat az új tételekhez" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "Cél készlet hely" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "Opcionális megjegyzés mező" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "Sorozatszámokat nem lehet hozzárendelni ehhez az alkatrészhez" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "Válaszd ki a beépítésre szánt készlet tételt" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "Beépítendő mennyiség" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "Adja meg a beépítendő mennyiséget" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "Tranzakció megjegyzés hozzáadása (opcionális)" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "A beépítendő mennyiség legalább 1 legyen" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "Készlet tétel nem elérhető" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "A kiválasztott alkatrész nincs az alkatrészjegyzékben" -#: stock/serializers.py:749 +#: stock/serializers.py:752 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:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "Cél hely a kiszedett tételeknek" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "Válassz alkatrészt amire konvertáljuk a készletet" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "A kiválasztott alkatrész nem megfelelő a konverzióhoz" -#: stock/serializers.py:849 +#: stock/serializers.py:852 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:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "Cél hely a visszatérő tételeknek" -#: stock/serializers.py:917 +#: stock/serializers.py:920 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:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "Nincs készlet tétel kiválasztva" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Alhelyek" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "Az alkatrésznek értékesíthetőnek kell lennie" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "A tétel egy vevő rendeléshez foglalt" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "A tétel egy gyártási utasításhoz foglalt" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "Vevő akihez rendeljük a készlet tételeket" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "A kiválasztott cég nem egy vevő" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "Készlet hozzárendelés megjegyzései" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "A készlet tételek listáját meg kell adni" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "Készlet összevonás megjegyzései" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "Nem egyező beszállítók megengedése" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 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:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "Nem egyező állapotok megjelenítése" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 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:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "Legalább két készlet tételt meg kell adni" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "Nincs változás" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "Készlet tétel elsődleges kulcs értéke" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "Készlet tétel státusz kódja" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "Készlet tranzakció megjegyzései" @@ -9452,7 +9481,7 @@ msgstr "Teszt adatok" msgid "Test Report" msgstr "Teszt riport" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "Teszt adatok törlése" @@ -9472,11 +9501,11 @@ msgstr "Beépített készlet tételek" msgid "Install Stock Item" msgstr "Készlet tétel beépítése" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "Készlet tétel összes teszt eredményének törlése" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "Teszt eredmény hozzáadása" @@ -10207,20 +10236,20 @@ msgstr "Beszerzési rendelés beállításai" msgid "Pricing Settings" msgstr "Árazási beállítások" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "Árfolyamok" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "Frissítés most" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "Utolsó frissítés" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "Soha" @@ -10713,7 +10742,7 @@ msgid "Submit Bug Report" msgstr "Hibabejelentés küldése" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "vágólapra másolás" @@ -14342,3 +14371,4 @@ msgstr "Jogosultság tételek szerkesztéséhez" #: users/models.py:413 msgid "Permission to delete items" msgstr "Jogosultság tételek törléséhez" + diff --git a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po index 15cae35579..72c6c46971 100644 --- a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:55\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -56,18 +56,18 @@ msgstr "Detail terkait galat dapat dilihat di panel admin" msgid "Enter date" msgstr "Masukkan tanggal" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "Lampiran" msgid "Select file to attach" msgstr "Pilih file untuk dilampirkan" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "Pilih file untuk dilampirkan" msgid "Link" msgstr "Tautan" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "Tautan menuju URL eksternal" @@ -440,10 +440,10 @@ msgstr "Komentar" msgid "File comment" msgstr "Komentar file" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "" msgid "Invalid choice" msgstr "Pilihan tidak valid" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "Nama" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "induk" msgid "Path" msgstr "Direktori" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "Data Barcode" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "Data barcode pihak ketiga" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "Hash unik data barcode" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "Sudah ada barcode yang sama" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "Terjadi Kesalahan Server" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "Sebuah kesalahan telah dicatat oleh server." -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "Harus berupa angka yang valid" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Mata Uang" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "Nama File" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "Nilai tidak valid" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "File data" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "Pilih file untuk diunggah" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "Jenis file tidak didukung" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "Ukuran file terlalu besar" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "Tidak ditemukan kolom dalam file" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "Tidak ditemukan barisan data dalam file" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "Tidak ada barisan data tersedia" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "Tidak ada kolom data tersedia" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Kolom yang diperlukan kurang: '{name}'" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Kolom duplikat: '{col}'" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "URL file gambar external" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "Unduhan gambar dari URL external tidak aktif" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "" @@ -750,14 +750,14 @@ msgstr "Tentang InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Pesanan harus dibatalkan sebelum dapat dihapus" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "" msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "Referensi Order Produksi" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "Produksi induk dari produksi ini" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "Produksi induk dari produksi ini" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "Status pembuatan" msgid "Build status code" msgstr "Kode status pembuatan" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Kode Kelompok" @@ -972,8 +972,8 @@ msgstr "Kode Kelompok" msgid "Batch code for this build output" msgstr "Kode kelompok untuk hasil produksi ini" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "Pengguna yang menyerahkan order ini" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "Hasil produksi tidak sesuai dengan order produksi" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Jumlah harus lebih besar daripada nol" @@ -1109,10 +1109,10 @@ msgstr "" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "Jumlah harus 1 untuk stok dengan nomor seri" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "Jumlah bagian yang dapat dilacak harus berupa angka bulat" 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:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Nomor Seri" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "Masukkan nomor seri untuk hasil pesanan" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "Lokasi hasil pesanan yang selesai" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "Terima bahwa stok item tidak teralokasikan sepenuhnya ke pesanan ini" msgid "Required stock has not been fully allocated" msgstr "Stok yang diperlukan belum teralokasikan sepenuhnya" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "Terima Tidak Selesai" @@ -1435,11 +1435,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part harus mengarah ke bagian yang sesuai dengan order produksi" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "Item harus tersedia dalam stok" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Jumlah tersedia ({q}) terlampaui" @@ -1452,7 +1452,7 @@ msgstr "Hasil produksi harus ditentukan untuk mengalokasikan bagian yang terlaca 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:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "Item yang dialokasikan harus disediakan" @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "Item tagihan material" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "" @@ -1914,6 +1914,22 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "" - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1129 +2315,1129 @@ msgstr "" msgid "Template" msgstr "" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1878 +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "Surel diperlukan" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3434,24 +3445,24 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3462,101 +3473,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3566,31 +3577,39 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3688,6 +3707,23 @@ msgstr "" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "" + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3918,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -3929,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,7 +3980,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3989,7 +4025,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4015,7 +4051,7 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4032,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "" @@ -4053,26 +4089,26 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4097,7 +4133,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "" @@ -4117,11 +4153,11 @@ msgstr "" msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4194,7 +4230,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4405,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4505,7 +4541,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4555,10 +4591,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4712,7 +4748,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4770,11 +4806,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4882,10 +4918,8 @@ msgid "shipped by" msgstr "" #: order/models.py:1027 -#, fuzzy -#| msgid "Build output is already completed" msgid "Order is already complete" -msgstr "Hasil produksi sudah selesai" +msgstr "" #: order/models.py:1030 msgid "Order is already cancelled" @@ -4961,7 +4995,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5023,8 +5057,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" @@ -5072,7 +5106,7 @@ msgstr "" msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5146,7 +5180,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5155,163 +5189,163 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5737,34 +5771,34 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5773,11 +5807,11 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5789,11 +5823,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5806,12 +5840,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5829,8 +5863,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5853,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5945,8 +5979,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5954,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5972,371 +6006,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6348,686 +6382,686 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -7253,15 +7287,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8310,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8326,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -8834,7 +8868,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8879,7 +8913,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" @@ -8891,7 +8925,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" @@ -8968,7 +9002,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" @@ -9000,7 +9034,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9124,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "" @@ -9446,7 +9480,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "" @@ -9466,11 +9500,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10201,20 +10235,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "" @@ -10707,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "" @@ -14336,3 +14370,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po index fbac634369..ddb8f6b176 100644 --- a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:54\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -56,18 +56,18 @@ msgstr "I dettagli dell'errore possono essere trovati nel pannello di amministra msgid "Enter date" msgstr "Inserisci la data" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "Allegato" msgid "Select file to attach" msgstr "Seleziona file da allegare" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "Seleziona file da allegare" msgid "Link" msgstr "Collegamento" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "Link a URL esterno" @@ -440,10 +440,10 @@ msgstr "Commento" msgid "File comment" msgstr "Commento del file" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "Nomi duplicati non possono esistere sotto lo stesso genitore" msgid "Invalid choice" msgstr "Scelta non valida" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "Nome" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "genitore" msgid "Path" msgstr "Percorso" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "Note di Markdown (opzionale)" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "Dati del Codice a Barre" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "Dati Codice a Barre applicazioni di terze parti" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "Codice a Barre" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "Codice univoco del codice a barre" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "Trovato codice a barre esistente" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "Errore del server" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "Un errore è stato loggato dal server." -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "Deve essere un numero valido" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "Selezionare la valuta dalle opzioni disponibili" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "Non hai i permessi per cambiare il ruolo dell'utente." -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "Solo i superutenti possono creare nuovi utenti" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "Nome del file" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "Valore non valido" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "File dati" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "Seleziona un file per il caricamento" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "Formato file non supportato" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "File troppo grande" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "Nessun colonna trovata nel file" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "Nessuna riga di dati trovata nel file" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "Nessun dato fornito" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "Nessuna colonna di dati fornita" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Colonna richiesta mancante: '{name}'" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Colonna duplicata: '{col}'" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "Immagine Remota" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "URL del file immagine remota" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "Il download delle immagini da URL remoto non è abilitato" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "Controllo in background non riuscito" @@ -750,14 +750,14 @@ msgstr "Informazioni Su InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "La produzione deve essere annullata prima di poter essere eliminata" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Consumabile" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "Monitorato" msgid "Allocated" msgstr "Allocato" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "Riferimento Ordine Di Produzione" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "Stato Produzione" msgid "Build status code" msgstr "Codice stato di produzione" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Codice Lotto" @@ -972,8 +972,8 @@ msgstr "Codice Lotto" msgid "Batch code for this build output" msgstr "Codice del lotto per questa produzione" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "Utente che ha emesso questo ordine di costruzione" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "Priorità di produzione" msgid "Priority of this build order" msgstr "Priorità di questo ordine di produzione" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "L'output della produzione non corrisponde all'ordine di compilazione" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" @@ -1109,10 +1109,10 @@ msgstr "Crea oggetto" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "Crea oggetto" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "La quantità deve essere 1 per lo stock serializzato" msgid "Selected stock item does not match BOM line" msgstr "L'articolo in stock selezionato non corrisponde alla voce nella BOM" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "Quantità totale richiesta per articoli rintracciabili" 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:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Codice Seriale" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "Inserisci i numeri di serie per gli output di compilazione (build option)" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "Posizione per gli output di build completati" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "Accetta che gli elementi in giacenza non sono stati completamente assegn msgid "Required stock has not been fully allocated" msgstr "La giacenza richiesta non è stata completamente assegnata" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "Accetta Incompleta" @@ -1435,11 +1435,11 @@ msgstr "Articolo linea di produzione" msgid "bom_item.part must point to the same part as the build order" msgstr "gli elementi degli articoli della distinta base devono puntare alla stessa parte dell'ordine di produzione" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "L'articolo deve essere disponibile" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantità disponibile ({q}) superata" @@ -1452,7 +1452,7 @@ msgstr "L'output di produzione deve essere specificato per l'ubicazione delle pa 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:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "Deve essere indicata l'allocazione dell'articolo" @@ -1496,7 +1496,7 @@ msgstr "Assegna gli elementi opzionali della distinta base all'ordine di produzi msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "Distinta base (Bom)" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "" msgid "On Order" msgstr "Ordinato" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "Allegati" msgid "Build Notes" msgstr "Genera Note" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "" @@ -1914,6 +1914,22 @@ msgstr "Dettagli Ordine di Produzione" msgid "Incomplete Outputs" msgstr "Output Incompleti" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "" msgid "Select {name} file to upload" msgstr "Seleziona il file {name} da caricare" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "Aggiornato" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "Orario dell'ultimo aggiornamento" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "Codice unico del progetto" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "Descrizione del progetto" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole)" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "Valore impostazioni" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "Il valore specificato non è un opzione valida" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "Il valore deve essere un valore booleano" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "Il valore deve essere un intero" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "La stringa chiave deve essere univoca" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "Nessun gruppo" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "Un dominio vuoto non è consentito." - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "Nome dominio non valido: {domain}" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "Riavvio richiesto" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "È stata modificata un'impostazione che richiede un riavvio del server" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "Nome Istanza Del Server" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "Descrittore stringa per l'istanza del server" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "Utilizza nome istanza" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "Usa il nome dell'istanza nella barra del titolo" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "Limita visualizzazione `Informazioni`" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "Mostra la modalità `Informazioni` solo ai superusers" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "Nome azienda" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "Nome interno dell'azienda" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "URL Base" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "URL di base per l'istanza del server" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "Valuta predefinita" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "giorni" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "Scarica dall'URL" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "Consenti il download di immagini e file remoti da URL esterno" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "Limite Dimensione Download" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "Dimensione massima consentita per il download dell'immagine remota" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "User-agent utilizzato per scaricare dall'URL" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Consenti di sovrascrivere l'user-agent utilizzato per scaricare immagini e file da URL esterno (lasciare vuoto per il predefinito)" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "Richiesta conferma" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "Richiede una conferma esplicita dell'utente per una determinata azione." -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "Profondità livelli" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Profondità predefinita per la visualizzazione ad albero. I livelli più in alto possono essere caricati più lentamente quando necessari." -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "Aggiorna intervallo di controllo" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "Quanto spesso controllare gli aggiornamenti (impostare a zero per disabilitare)" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "Backup automatico" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "Abilita il backup automatico di database e file multimediali" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "Intervallo Di Backup Automatico" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "Definisci i giorni intercorrenti tra un backup automatico e l'altro" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "I risultati delle attività in background verranno eliminati dopo un determinato numero di giorni" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "I log di errore verranno eliminati dopo il numero specificato di giorni" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "Le notifiche dell'utente verranno eliminate dopo il numero di giorni specificato" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Supporto Codice A Barre" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "Codice a barre inserito scaduto" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "Tempo di ritardo di elaborazione codice a barre" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "Codice a Barre Supporto Webcam" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "Consenti la scansione del codice a barre tramite webcam nel browser" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "Abilita il campo revisione per l'articolo" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "Schema di espressione regolare per l'articolo corrispondente IPN" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "Consenti duplicati IPN" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "Permetti a più articoli di condividere lo stesso IPN" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "Permetti modifiche al part number interno (IPN)" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "Consenti di modificare il valore del part number durante la modifica di un articolo" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "Copia I Dati Della distinta base dell'articolo" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "Copia i dati della Distinta Base predefinita quando duplichi un articolo" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "Copia I Dati Parametro dell'articolo" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "Copia i dati dei parametri di default quando si duplica un articolo" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "Copia I Dati dell'Articolo Test" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "Copia i dati di prova di default quando si duplica un articolo" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "Copia Template Parametri Categoria" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "Copia i modelli dei parametri categoria quando si crea un articolo" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1131 +2315,1129 @@ msgstr "Copia i modelli dei parametri categoria quando si crea un articolo" msgid "Template" msgstr "Modello" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "Gli articoli sono modelli per impostazione predefinita" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Assemblaggio" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "Gli articoli possono essere assemblate da altri componenti per impostazione predefinita" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Componente" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "Gli articoli possono essere assemblati da altri componenti per impostazione predefinita" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "Acquistabile" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Vendibile" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Tracciabile" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "Gli articoli sono tracciabili per impostazione predefinita" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Virtuale" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "Gli articoli sono virtuali per impostazione predefinita" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "Mostra l'importazione nelle viste" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "Mostra la procedura guidata di importazione in alcune viste articoli" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "Mostra articoli correlati" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "Visualizza parti correlate per ogni articolo" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "Dati iniziali dello stock" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "Consentire la creazione di uno stock iniziale quando si aggiunge una nuova parte" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Dati iniziali del fornitore" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Consentire la creazione dei dati iniziali del fornitore quando si aggiunge una nuova parte" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "Formato di visualizzazione del nome articolo" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "Formato per visualizzare il nome dell'articolo" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "Icona predefinita Categoria Articolo" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "Icona predefinita Categoria Articolo (vuoto significa nessuna icona)" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "Usa Prezzi Fornitore" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Includere le discontinuità di prezzo del fornitore nei calcoli generali dei prezzi" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "Ignora la Cronologia Acquisti" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Cronologia dei prezzi dell'ordine di acquisto del fornitore superati con discontinuità di prezzo" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "Utilizzare i prezzi degli articoli in stock" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Utilizzare i prezzi dei dati di magazzino inseriti manualmente per il calcolo dei prezzi" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "Età dei prezzi degli articoli in stock" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Escludere dal calcolo dei prezzi gli articoli in giacenza più vecchi di questo numero di giorni" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "Utilizza Variazione di Prezzo" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "Includi la variante dei prezzi nei calcoli dei prezzi complessivi" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "Solo Varianti Attive" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "Utilizza solo articoli di varianti attive per calcolare i prezzi delle varianti" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "Numero di giorni prima che il prezzo dell'articolo venga aggiornato automaticamente" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "Prezzi interni" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "Abilita prezzi interni per gli articoli" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "Sovrascrivi Prezzo Interno" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "Se disponibile, i prezzi interni sostituiscono i calcoli della fascia di prezzo" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "Abilita stampa etichette" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "Abilita la stampa di etichette dall'interfaccia web" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "Etichetta Immagine DPI" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Risoluzione DPI quando si generano file di immagine da fornire ai plugin di stampa per etichette" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "Abilita Report di Stampa" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "Abilita generazione di report di stampa" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "Modalità Debug" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "Genera report in modalità debug (output HTML)" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "Dimensioni pagina" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "Dimensione predefinita della pagina per i report PDF" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "Abilita Rapporto di Prova" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "Abilita generazione di stampe di prova" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "Allega Rapporto di Prova" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Quando si stampa un rapporto di prova, allegare una copia del rapporto di prova all'elemento di magazzino associato" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "Seriali Unici Globali" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "I numeri di serie per gli articoli di magazzino devono essere univoci" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "Auto Riempimento Numeri Seriali" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "Auto riempimento numeri nel modulo" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "Elimina scorte esaurite" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "Modello Codice a Barre" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "Modello per la generazione di codici batch predefiniti per gli elementi stock" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "Scadenza giacenza" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "Abilita funzionalità di scadenza della giacenza" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "Vendi giacenza scaduta" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "Consenti la vendita di stock scaduti" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "Tempo di Scorta del Magazzino" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "Numero di giorni in cui gli articoli in magazzino sono considerati obsoleti prima della scadenza" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "Crea giacenza scaduta" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "Permetti produzione con stock scaduto" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "Controllo della proprietà della giacenza" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "Abilita il controllo della proprietà sulle posizioni e gli oggetti in giacenza" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "Icona Predefinita Ubicazione di Magazzino" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "Icona Predefinita Ubicazione di Magazzino (vuoto significa nessuna icona)" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "Modello Di Riferimento Ordine Di Produzione" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di produzione" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "Modello Di Riferimento Ordine Di Vendita" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di vendita" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "Spedizione Predefinita Ordine Di Vendita" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "Abilita la creazione di spedizioni predefinite con ordini di vendita" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "Modifica Ordini Di Vendita Completati" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Consenti la modifica degli ordini di vendita dopo che sono stati spediti o completati" -#: common/models.py:1878 -#, fuzzy -#| msgid "Mark order as complete" +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" -msgstr "Contrassegna ordine come completato" +msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "Modello di Riferimento Ordine D'Acquisto" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di acquisto" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "Modifica Ordini Di Acquisto Completati" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Consenti la modifica degli ordini di acquisto dopo che sono stati spediti o completati" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "Abilita password dimenticata" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "Abilita la funzione password dimenticata nelle pagine di accesso" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "Abilita registrazione" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "Abilita auto-registrazione per gli utenti nelle pagine di accesso" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "SSO abilitato" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "Abilita SSO nelle pagine di accesso" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "Abilita registrazione SSO" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Abilita l'auto-registrazione tramite SSO per gli utenti nelle pagine di accesso" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "Email richiesta" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "Richiedi all'utente di fornire una email al momento dell'iscrizione" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "Riempimento automatico degli utenti SSO" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "Compila automaticamente i dettagli dell'utente dai dati dell'account SSO" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "Posta due volte" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "Al momento della registrazione chiedere due volte all'utente l'indirizzo di posta elettronica" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "Password due volte" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "Al momento della registrazione chiedere agli utenti due volte l'inserimento della password" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "Domini consentiti" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "Gruppo iscrizione" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "Gruppo a cui i nuovi utenti vengono assegnati al momento della registrazione" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "Applica MFA" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "Gli utenti devono utilizzare la sicurezza a due fattori." -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "Controlla i plugin all'avvio" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Controlla che tutti i plugin siano installati all'avvio - abilita in ambienti contenitore" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "Abilita l'integrazione URL" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "Attiva plugin per aggiungere percorsi URL" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "Attiva integrazione navigazione" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "Abilita i plugin per l'integrazione nella navigazione" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "Abilita l'app integrata" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "Abilita plugin per aggiungere applicazioni" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "Abilita integrazione pianificazione" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "Abilita i plugin per eseguire le attività pianificate" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "Abilita eventi integrati" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "Abilita plugin per rispondere agli eventi interni" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "Funzionalità Dell'Inventario" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Abilita la funzionalità d'inventario per la registrazione dei livelli di magazzino e il calcolo del valore di magazzino" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "Inventario periodico automatico" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Numero di giorni tra la registrazione automatica dell'inventario (imposta 0 per disabilitare)" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "I rapporti d'inventario verranno eliminati dopo il numero specificato di giorni" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "Nascondi Articoli Inattivi" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "Mostra articoli sottoscritti" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "Mostra gli articoli sottoscritti nella homepage" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "Mostra le categorie sottoscritte" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "Mostra le categorie dei componenti sottoscritti nella homepage" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "Mostra ultimi articoli" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "Mostra gli ultimi articoli sulla homepage" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "Mostra le distinte base che attendono la convalida sulla homepage" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "Mostra le modifiche recenti alle giacenze" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "Mostra le giacenze modificate di recente nella homepage" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "Mostra disponibilità scarsa delle giacenze" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "Mostra disponibilità scarsa degli articoli sulla homepage" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "Mostra scorte esaurite" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "Mostra disponibilità scarsa delle scorte degli articoli sulla homepage" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "Mostra scorte necessarie" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "Mostra le scorte degli articoli necessari per la produzione sulla homepage" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "Mostra scorte esaurite" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "Mostra gli articoli stock scaduti nella home page" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "Mostra scorte obsolete" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "Mostra gli elementi obsoleti esistenti sulla home page" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "Mostra produzioni in attesa" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "Mostra produzioni in attesa sulla homepage" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "Mostra produzioni in ritardo" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "Mostra produzioni in ritardo sulla home page" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "Mostra ordini di produzione inevasi" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "Mostra ordini di produzione inevasi sulla home page" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "Mostra Ordini di Produzione in ritardo" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "Mostra Ordini di Produzione in ritardo sulla home page" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "Mostra Ordini di Vendita inevasi" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "Mostra Ordini di Vendita inevasi sulla home page" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "Mostra Ordini di Vendita in ritardo" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "Mostra Ordini di Vendita in ritardo sulla home page" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "Mostra Notizie" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "Mostra notizie sulla home page" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Visualizza le etichette PDF nel browser, invece di scaricare come file" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "Stampante per etichette predefinita" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "Configura quale stampante di etichette deve essere selezionata per impostazione predefinita" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Visualizza le etichette PDF nel browser, invece di scaricare come file" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "Cerca Articoli" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "Mostra articoli della ricerca nella finestra di anteprima" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "Mostra articoli del fornitore nella finestra di anteprima" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "Cerca Articoli Produttore" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "Mostra articoli del produttore nella finestra di anteprima" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "Nascondi Articoli Inattivi" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "Escludi articoli inattivi dalla finestra di anteprima della ricerca" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "Cerca Categorie" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "Mostra categorie articolo nella finestra di anteprima di ricerca" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "Cerca Giacenze" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "Mostra articoli in giacenza nella finestra di anteprima della ricerca" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "Nascondi elementi non disponibili" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "Escludi gli elementi stock che non sono disponibili dalla finestra di anteprima di ricerca" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "Cerca Ubicazioni" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "Mostra ubicazioni delle giacenze nella finestra di anteprima di ricerca" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "Cerca Aziende" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "Mostra le aziende nella finestra di anteprima di ricerca" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "Cerca Ordini Di Produzione" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "Mostra gli ordini di produzione nella finestra di anteprima di ricerca" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "Cerca Ordini di Acquisto" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "Mostra gli ordini di acquisto nella finestra di anteprima di ricerca" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "Escludi Ordini D'Acquisto Inattivi" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "Escludi ordini di acquisto inattivi dalla finestra di anteprima di ricerca" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "Cerca Ordini Di Vendita" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "Visualizzazione degli ordini di vendita nella finestra di anteprima della ricerca" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "Escludi Ordini Di Vendita Inattivi" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "Escludi ordini di vendita inattivi dalla finestra di anteprima di ricerca" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "Cerca Ordini Di Reso" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "Risultati Dell'Anteprima Di Ricerca" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "Numero di risultati da visualizzare in ciascuna sezione della finestra di anteprima della ricerca" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "Ricerca con regex" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "Mostra quantità nei moduli" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "Visualizzare la quantità di pezzi disponibili in alcuni moduli" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "Il tasto Esc chiude i moduli" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "Utilizzare il tasto Esc per chiudere i moduli modali" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "Barra di navigazione fissa" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "La posizione della barra di navigazione è fissata nella parte superiore dello schermo" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "Formato Data" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "Formato predefinito per visualizzare le date" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Programmazione Prodotto" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "Mostra informazioni sulla pianificazione del prodotto" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventario Prodotto" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Visualizza le informazioni d'inventario dell'articolo (se la funzionalità d'inventario è abilitata)" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "Lunghezza Stringa Tabella" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "Quantità prezzo limite" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3436,24 +3445,24 @@ msgstr "Quantità prezzo limite" msgid "Price" msgstr "Prezzo" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "Prezzo unitario in quantità specificata" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "Scadenza" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "Scadenza in cui questa notifica viene ricevuta" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "Nome per questa notifica" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3464,101 +3473,101 @@ msgstr "Nome per questa notifica" msgid "Active" msgstr "Attivo" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "È questa notifica attiva" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "Token per l'accesso" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "Segreto" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "Segreto condiviso per HMAC" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "ID Messaggio" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "Identificatore unico per questo messaggio" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "Host da cui questo messaggio è stato ricevuto" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "Intestazione" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "Intestazione di questo messaggio" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "Contenuto" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "Contenuto di questo messaggio" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "Scadenza in cui questo messaggio è stato ricevuto" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "Lavorato il" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "Il lavoro su questo messaggio è terminato?" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titolo" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "Pubblicato" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Autore" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "Riepilogo" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "Letto" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "Queste notizie sull'elemento sono state lette?" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3568,31 +3577,39 @@ msgstr "Queste notizie sull'elemento sono state lette?" msgid "Image" msgstr "Immagine" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "File immagine" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3690,6 +3707,23 @@ msgstr "" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "Un dominio vuoto non è consentito." + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "Nome dominio non valido: {domain}" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3920,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Articolo di base" @@ -3931,7 +3965,7 @@ msgstr "Seleziona articolo" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3946,7 +3980,7 @@ msgid "Select manufacturer" msgstr "Seleziona Produttore" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3991,7 +4025,7 @@ msgid "Parameter value" msgstr "Valore del parametro" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4017,7 +4051,7 @@ msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4034,7 +4068,7 @@ msgstr "Fornitore" msgid "Select supplier" msgstr "Seleziona fornitore" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "Unità di giacenza magazzino fornitore" @@ -4055,26 +4089,26 @@ msgid "Supplier part description" msgstr "Descrizione articolo fornitore" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "Nota" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "costo base" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4099,7 +4133,7 @@ msgstr "Quantità Confezione" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "multiplo" @@ -4119,11 +4153,11 @@ msgstr "Disponibilità Aggiornata" msgid "Date of last update of availability data" msgstr "Data dell’ultimo aggiornamento dei dati sulla disponibilità" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "Valuta predefinita utilizzata per questo fornitore" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4196,7 +4230,7 @@ msgstr "Elimina immagine" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4407,7 +4441,7 @@ msgstr "Nessuna informazione sul produttore disponibile" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4507,7 +4541,7 @@ msgid "No supplier information available" msgstr "Nessuna informazione sul fornitore disponibile" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4557,10 +4591,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4714,7 +4748,7 @@ msgstr "" msgid "Total Price" msgstr "Prezzo Totale" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4772,11 +4806,11 @@ msgstr "Restituisci ordine" msgid "Total price for this order" msgstr "Prezzo totale dell'ordine" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4884,16 +4918,12 @@ msgid "shipped by" msgstr "spedito da" #: order/models.py:1027 -#, fuzzy -#| msgid "Build output is already completed" msgid "Order is already complete" -msgstr "La produzione è stata completata" +msgstr "" #: order/models.py:1030 -#, fuzzy -#| msgid "Order cannot be cancelled" msgid "Order is already cancelled" -msgstr "L'ordine non può essere cancellato" +msgstr "" #: order/models.py:1034 msgid "Only an open order can be marked as complete" @@ -4965,7 +4995,7 @@ msgstr "Ricevuto" msgid "Number of items received" msgstr "Numero di elementi ricevuti" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5027,8 +5057,8 @@ msgstr "Verificato Da" msgid "User who checked this shipment" msgstr "Utente che ha controllato questa spedizione" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Spedizione" @@ -5076,7 +5106,7 @@ msgstr "Impossibile allocare stock a una riga senza un articolo" msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantità di ripartizione non puo' superare la disponibilità della giacenza" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "La quantità deve essere 1 per l'elemento serializzato" @@ -5150,7 +5180,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5159,163 +5189,163 @@ msgstr "" msgid "Line Items" msgstr "Elementi Riga" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "L'ordine non può essere cancellato" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "Consenti di chiudere l'ordine con elementi di riga incompleti" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "L'ordine ha elementi di riga incompleti" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "L'ordine non è aperto" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "Valuta prezzo d'acquisto" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "L'articolo del fornitore deve essere specificato" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "L'ordine di acquisto deve essere specificato" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "Il fornitore deve essere abbinato all'ordine d'acquisto" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "L'ordine di acquisto deve essere abbinato al fornitore" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "Elemento Riga" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "L'elemento di riga non corrisponde all'ordine di acquisto" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "Seleziona la posizione di destinazione per gli elementi ricevuti" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "Inserisci il codice univoco per gli articoli in arrivo" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "Inserisci i numeri di serie per gli articoli stock in arrivo" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Codice a Barre" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "Codice a barre scansionato" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "Il codice a barre è già in uso" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "Deve essere fornita una quantità intera per gli articoli rintracciabili" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "Gli elementi di linea devono essere forniti" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "La destinazione deve essere specificata" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "I valori dei codici a barre forniti devono essere univoci" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "Valuta prezzo di vendita" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "Nessun dettaglio di spedizione fornito" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "L'elemento di riga non è associato a questo ordine" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "La quantità deve essere positiva" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "Inserisci i numeri di serie da assegnare" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "La spedizione è già stata spedita" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "La spedizione non è associata con questo ordine" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "Nessuna corrispondenza trovata per i seguenti numeri di serie" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "I seguenti numeri di serie sono già assegnati" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5741,34 +5771,34 @@ msgstr "Aggiornato {part} prezzo unitario a {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Aggiornato {part} unità prezzo a {price} e quantità a {qty}" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "Codice Articolo" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Nome Articolo" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "Descrizione Articolo" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "IPN - Numero di riferimento interno" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "Revisione" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Parole Chiave" @@ -5777,11 +5807,11 @@ msgstr "Parole Chiave" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "Id Categoria" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "Nome Categoria" @@ -5793,11 +5823,11 @@ msgstr "Posizione Predefinita ID" msgid "Default Supplier ID" msgstr "ID Fornitore Predefinito" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variante Di" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Scorta Minima" @@ -5810,12 +5840,12 @@ msgstr "Utilizzato In" msgid "Building" msgstr "In Costruzione" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "Costo Minimo" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "Costo Massimo" @@ -5833,8 +5863,8 @@ msgstr "Nome Principale" msgid "Category Path" msgstr "Percorso Categoria" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5857,17 +5887,17 @@ msgstr "ID Elemento Distinta Base" msgid "Parent IPN" msgstr "IPN Principale" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "IPN Articolo" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Prezzo Minimo" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5949,8 +5979,8 @@ msgstr "Questa opzione deve essere selezionata" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5958,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "Categoria" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Posizione Predefinita" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Giacenze Totali" @@ -5976,371 +6006,371 @@ msgstr "Giacenze Totali" msgid "Input quantity for price calculation" msgstr "Digita la quantità per il calcolo del prezzo" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria Articoli" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Categorie Articolo" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "Posizione predefinita per gli articoli di questa categoria" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "Strutturale" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Le parti non possono essere assegnate direttamente a una categoria strutturale, ma possono essere assegnate a categorie subordinate." -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "Keywords predefinite" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "Parole chiave predefinite per gli articoli in questa categoria" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Icona" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "Icona (facoltativa)" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Non puoi rendere principale questa categoria di articoli perché alcuni articoli sono già assegnati!" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "Scelta non valida per l'articolo principale" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "Esiste già un elemento stock con questo numero seriale" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "Non è consentito duplicare IPN nelle impostazioni dell'articolo" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "Un articolo con questo Nome, IPN e Revisione esiste già." -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "Gli articoli non possono essere assegnati a categorie articolo principali!" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "Nome articolo" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "È Template" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "Quest'articolo è un articolo di template?" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "Questa parte è una variante di un altro articolo?" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "Categoria articolo" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "Numero Dell'articolo Interno" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "Numero di revisione o di versione" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "Dove viene normalmente immagazzinato questo articolo?" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Fornitore predefinito" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "Articolo fornitore predefinito" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "Scadenza Predefinita" -#: part/models.py:1035 +#: part/models.py:1036 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:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "Livello minimo di giacenza consentito" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "Unita di misura per questo articolo" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "Questo articolo può essere costruito da altri articoli?" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "Questo articolo può essere utilizzato per costruire altri articoli?" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "Questo articolo ha il tracciamento per gli elementi unici?" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "Quest'articolo può essere acquistato da fornitori esterni?" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "Questo pezzo può essere venduto ai clienti?" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "Quest'articolo è attivo?" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "È una parte virtuale, come un prodotto software o una licenza?" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "Somma di controllo Distinta Base" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "Somma di controllo immagazzinata Distinta Base" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "Distinta Base controllata da" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "Data di verifica Distinta Base" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "Creazione Utente" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "Ultimo Inventario" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "Vendita multipla" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "Valuta utilizzata per calcolare i prezzi" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "Costo Minimo Distinta Base" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "Costo minimo dei componenti dell'articolo" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "Costo Massimo Distinta Base" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "Costo massimo dei componenti dell'articolo" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "Importo Acquisto Minimo" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "Costo minimo di acquisto storico" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "Importo massimo acquisto" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "Costo massimo di acquisto storico" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "Prezzo Interno Minimo" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "Costo minimo basato su interruzioni di prezzo interne" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "Prezzo Interno Massimo" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "Costo massimo basato su interruzioni di prezzo interne" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "Prezzo Minimo Fornitore" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "Prezzo minimo articolo da fornitori esterni" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "Prezzo Massimo Fornitore" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "Prezzo massimo dell'articolo proveniente da fornitori esterni" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "Variazione di costo minimo" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "Costo minimo calcolato di variazione dell'articolo" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "Massima variazione di costo" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "Costo massimo calcolato di variazione dell'articolo" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "Costo minimo totale calcolato" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "Costo massimo totale calcolato" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "Prezzo Di Vendita Minimo" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "Prezzo minimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "Prezzo Di Vendita Massimo" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "Prezzo massimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "Prezzo storico minimo di vendita" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "Prezzo storico massimo di vendita" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "Articolo per l'inventario" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "Contatore Elemento" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "Numero di scorte individuali al momento dell'inventario" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "Totale delle scorte disponibili al momento dell'inventario" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6352,686 +6382,686 @@ msgstr "Totale delle scorte disponibili al momento dell'inventario" msgid "Date" msgstr "Data" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "Data in cui è stato effettuato l'inventario" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "Note aggiuntive" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "Utente che ha eseguito questo inventario" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "Costo Minimo Scorta" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "Costo minimo stimato di magazzino a disposizione" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "Costo Massimo Scorte" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "Costo massimo stimato di magazzino a disposizione" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "File Report Inventario (generato internamente)" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Conteggio Articolo" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "Numero di articoli oggetto d'inventario" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "Utente che ha richiesto questo report inventario" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "Il modello di prova può essere creato solo per gli articoli rintracciabili" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "Nome Test" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "Inserisci un nome per la prova" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "Descrizione Di Prova" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "Inserisci descrizione per questa prova" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Abilitato" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Richiesto" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "Questa prova è necessaria per passare?" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "Valore richiesto" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "Questa prova richiede un valore quando si aggiunge un risultato di prova?" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "Allegato Richiesto" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "Questa prova richiede un file allegato quando si aggiunge un risultato di prova?" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "Il nome del modello del parametro deve essere univoco" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "Nome Parametro" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "Descrizione del parametro" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "Articolo principale" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Modello Parametro" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "Dati" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "Valore del Parametro" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Valore Predefinito" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "Valore Parametro Predefinito" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "ID articolo o nome articolo" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "Valore ID articolo univoco" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "Valore IPN articolo" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "Livello" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "Livello distinta base" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "Seleziona articolo principale" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "Articolo subordinato" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "Seleziona l'articolo da utilizzare nella Distinta Base" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "Quantità Distinta Base per questo elemento Distinta Base" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "Questo elemento della Distinta Base è opzionale" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Questo elemento della Distinta Base è consumabile (non è tracciato negli ordini di produzione)" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Eccedenza" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantità stimata scarti di produzione (assoluta o percentuale)" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "Riferimento Elemento Distinta Base" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "Note Elemento Distinta Base" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "Codice di controllo" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "Codice di controllo Distinta Base" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Convalidato" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Questo elemento della Distinta Base viene ereditato dalle Distinte Base per gli articoli varianti" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Consenti Le Varianti" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Gli elementi in giacenza per gli articoli varianti possono essere utilizzati per questo elemento Distinta Base" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "La quantità deve essere un valore intero per gli articoli rintracciabili" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "L'articolo subordinato deve essere specificato" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "Elemento Distinta Base Sostituito" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "La parte sostituita non può essere la stessa dell'articolo principale" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "Elemento principale Distinta Base" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "Sostituisci l'Articolo" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "Articolo 1" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "Articolo 2" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "Seleziona Prodotto Relativo" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "Non si può creare una relazione tra l'articolo e sé stesso" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "La relazione duplicata esiste già" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Sottocategorie" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "Valuta di acquisto di questo articolo in stock" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "Articolo Originale" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "Seleziona l'articolo originale da duplicare" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "Copia immagine" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "Copia immagine dall'articolo originale" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Copia Distinta Base" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "Copia fattura dei materiali dall'articolo originale" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "Copia parametri" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "Copia i dati dei parametri dall'articolo originale" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "Quantità iniziale" -#: part/serializers.py:490 +#: part/serializers.py:491 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:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "Ubicazione Iniziale Magazzino" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "Specificare l'ubicazione iniziale del magazzino per questo Articolo" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "Seleziona il fornitore (o lascia vuoto per saltare)" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleziona il produttore (o lascia vuoto per saltare)" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "Codice articolo Produttore" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "L'azienda selezionata non è un fornitore valido" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "L'azienda selezionata non è un produttore valido" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "L'articolo del produttore che corrisponde a questo MPN esiste già" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "L'articolo del fornitore che corrisponde a questo SKU esiste già" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "Duplica articolo" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "Copia i dati iniziali da un altro Articolo" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Stock iniziale" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "Crea Articolo con quantità di scorta iniziale" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "Informazioni Fornitore" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "Aggiungi le informazioni iniziali del fornitore per questo articolo" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "Copia Parametri Categoria" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "Copia i parametri dai modelli della categoria articolo selezionata" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Limitare il report d'inventario ad un articolo particolare e a eventuali articoli varianti" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Limita il report d'inventario ad una particolare categoria articolo, e a eventuali categorie secondarie" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Limita il report d'inventario ad una particolare ubicazione di magazzino, e a eventuali ubicazioni secondarie" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "Genera Report" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "Genera file di report contenente dati di inventario calcolati" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "Aggiorna Articoli" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "Aggiorna gli articoli specificati con i dati calcolati di inventario" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "La funzione Inventario non è abilitata" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "Aggiorna" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "Aggiorna i prezzi per questo articolo" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "Seleziona l'articolo da cui copiare la distinta base" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "Rimuovi Dati Esistenti" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "Rimuovi elementi distinta base esistenti prima di copiare" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "Includi Ereditato" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "Includi gli elementi Distinta Base ereditati da prodotti template" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "Salta Righe Non Valide" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "Abilita questa opzione per saltare le righe non valide" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "Copia Articoli sostitutivi" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copia articoli sostitutivi quando duplichi gli elementi distinta base" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "Cancella Distinta Base esistente" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "Rimuovi elementi distinta base esistenti prima del caricamento" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "Nessuna colonna articolo specificata" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "Trovati più articoli corrispondenti" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "Nessun articolo corrispondente trovato" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "L'articolo non è indicato come componente" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "Quantità non fornita" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "Quantità non valida" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "Almeno un elemento della distinta base è richiesto" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "Quantità Totale" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "Costo Minimo Totale" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "Costo Massimo Totale" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "Report Inventario Disponibile" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "Un nuovo report di inventario è disponibile per il download" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "Notifica di magazzino bassa" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Lo stock disponibile per {part.name} è sceso sotto il livello minimo configurato" @@ -7257,15 +7287,15 @@ msgstr "Fornitori articoli" msgid "Part Manufacturers" msgstr "Componenti Produttori" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8314,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "Nessun oggetto valido fornito nel modello" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8330,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "Il file del modello '{template}' è mancante o non esiste" @@ -8838,7 +8868,7 @@ msgstr "Non puoi rendere strutturale questa posizione di magazzino perché alcun 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:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "Non è possibile creare un elemento di magazzino per articoli virtuali" @@ -8883,7 +8913,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:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "Imballaggio di questo articolo di magazzino è collocato in" @@ -8895,7 +8925,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:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "Codice lotto per questo elemento di magazzino" @@ -8972,7 +9002,7 @@ msgstr "I numeri di serie devono essere numeri interi" msgid "Quantity does not match serial numbers" msgstr "La quantità non corrisponde ai numeri di serie" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "Numeri di serie già esistenti" @@ -9004,7 +9034,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:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "Duplica elementi di magazzino" @@ -9128,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "Il numero di serie è troppo grande" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "Inserisci il numero di elementi di magazzino da serializzare" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, 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:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "Inserisci i numeri di serie per i nuovi elementi" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "Posizione magazzino di destinazione" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "Note opzionali elemento" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "Numeri di serie non possono essere assegnati a questo articolo" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "Seleziona elementi di magazzino da installare" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "Aggiungi nota di transazione (opzionale)" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "Elemento di magazzino non disponibile" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "L'articolo selezionato non è nella Fattura dei Materiali" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "Posizione di destinazione per gli elementi disinstallati" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "Seleziona l'articolo in cui convertire l'elemento di magazzino" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "L'articolo selezionato non è una valida opzione per la conversione" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "Posizione di destinazione per l'elemento restituito" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Sottoallocazioni" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "L'articolo deve essere vendibile" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "L'elemento è assegnato a un ordine di vendita" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "Elemento assegnato a un ordine di costruzione" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "Cliente a cui assegnare elementi di magazzino" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "L'azienda selezionata non è un cliente" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "Note sull'assegnazione delle scorte" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "Deve essere fornito un elenco degli elementi di magazzino" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "Note di fusione di magazzino" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "Consenti fornitori non corrispondenti" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 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:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "Consenti stato non corrispondente" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 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:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "Devono essere riforniti almeno due elementi in magazzino" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "Valore di chiave primaria StockItem" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "Note sugli spostamenti di magazzino" @@ -9450,7 +9480,7 @@ msgstr "Dati di Test" msgid "Test Report" msgstr "Rapporto del Test" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "Elimina Dati di Test" @@ -9470,11 +9500,11 @@ msgstr "Elementi di magazzino installati" msgid "Install Stock Item" msgstr "Installa Elemento Magazzino" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "Elimina tutti i risultati del test per questo elemento di magazzino" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10205,20 +10235,20 @@ msgstr "Impostazioni Ordine di Acquisto" msgid "Pricing Settings" msgstr "Impostazioni Prezzi" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "Tassi di cambio" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "Aggiorna Ora" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "Ultimo Aggiornamento" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "Mai" @@ -10711,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "Invia Segnalazione Bug" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "copia negli appunti" @@ -14340,3 +14370,4 @@ msgstr "Permessi per modificare gli elementi" #: users/models.py:413 msgid "Permission to delete items" msgstr "Autorizzazione ad eliminare gli elementi" + diff --git a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po index af521726de..5efbf111cc 100644 --- a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:54\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-05 12:39\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -56,18 +56,18 @@ msgstr "エラーの詳細は管理者パネルで確認できます" msgid "Enter date" msgstr "日付を入力する" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "添付ファイル" msgid "Select file to attach" msgstr "添付ファイルを選択" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "添付ファイルを選択" msgid "Link" msgstr "リンク" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "外部 サイト へのリンク" @@ -440,10 +440,10 @@ msgstr "コメント:" msgid "File comment" msgstr "ファイルコメント" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "" msgid "Invalid choice" msgstr "無効な選択です" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "お名前" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "親" msgid "Path" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "マークダウンメモ (オプション)" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "バーコード情報" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "サードパーティ製バーコードデータ" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" -msgstr "" +msgstr "通貨" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" -msgstr "" +msgstr "利用可能なオプションから通貨を選択してください" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." -msgstr "" +msgstr "このユーザのロールを変更する権限がありません" -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "ファイル名" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "無効な値です。" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "データファイル" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "アップロードするファイルを選択" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "サポートされていないファイル形式" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "ファイルサイズが大きすぎます" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "ファイルに列が見つかりません" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "ファイルにデータ行がみつかりません" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "データが入力されていません" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "データ列が指定されていません" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "必須の列がありません: {name}" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "{col} 列が重複しています。" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "外部画像ファイルのURL" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "外部URLからの画像ダウンロードは許可されていません" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "バックグラウンドワーカーのチェックに失敗しました" @@ -750,14 +750,14 @@ msgstr "InvenTree について" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "" msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "組立状況" msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -972,8 +972,8 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "組立優先度" msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1109,10 +1109,10 @@ msgstr "" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "シリアル番号" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "" @@ -1435,11 +1435,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "" @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "" @@ -1914,6 +1914,22 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "" - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "外部URLからの画像ダウンロードを許可する" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "外部URL画像の最大サイズ" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1129 +2315,1129 @@ msgstr "" msgid "Template" msgstr "テンプレート" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "パーツはデフォルトのテンプレートです" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "アセンブリ" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "コンポーネント" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "パーツはデフォルトでサブコンポーネントとして使用できます" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "購入可能" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "パーツはデフォルトで購入可能です" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "販売可能" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "パーツはデフォルトで販売可能です" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "追跡可能" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "パーツはデフォルトで追跡可能です" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "デバッグモード" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "シリアル番号を自動入力" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1878 +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "メールアドレスは必須です" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "非アクティブな部品を非表示" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "購読中の部品を表示" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "購読中のカテゴリを表示" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3434,24 +3445,24 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3462,101 +3473,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "メッセージ ID:" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3566,31 +3577,39 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3688,6 +3707,23 @@ msgstr "" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "" + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3918,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -3929,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,7 +3980,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3989,7 +4025,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4015,7 +4051,7 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4032,7 +4068,7 @@ msgstr "仕入先" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "" @@ -4053,26 +4089,26 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4097,7 +4133,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "" @@ -4117,11 +4153,11 @@ msgstr "" msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4194,7 +4230,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4405,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4505,7 +4541,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4555,10 +4591,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4712,7 +4748,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4770,11 +4806,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +4995,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5021,8 +5057,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" @@ -5070,7 +5106,7 @@ msgstr "" msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5144,7 +5180,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5153,163 +5189,163 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "割り当てるシリアル番号を入力" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5735,34 +5771,34 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "キーワード" @@ -5771,11 +5807,11 @@ msgstr "キーワード" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "カテゴリID" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "カテゴリ名" @@ -5787,11 +5823,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5804,12 +5840,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5827,8 +5863,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5943,8 +5979,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5952,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "カテゴリ" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5970,371 +6006,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "パーツカテゴリ" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "パーツカテゴリ" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "パーツカテゴリ" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6346,686 +6382,686 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "サブカテゴリ" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "カテゴリを選択" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -7251,15 +7287,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8308,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8324,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -8832,7 +8868,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8877,7 +8913,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" @@ -8889,7 +8925,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" @@ -8966,7 +9002,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "シリアル番号が既に存在します" @@ -8998,7 +9034,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9122,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "シリアル番号が大きすぎます" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "パーツは販売可能でなければなりません" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "" @@ -9444,7 +9480,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "" @@ -9464,11 +9500,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10199,20 +10235,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "" @@ -10705,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "" @@ -14334,3 +14370,4 @@ msgstr "項目を編集する権限" #: users/models.py:413 msgid "Permission to delete items" msgstr "項目を削除する権限" + diff --git a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po index 3a76c98fd0..5792eb553f 100644 --- a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:54\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -56,18 +56,18 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "" @@ -440,10 +440,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "" msgid "Path" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "" @@ -750,14 +750,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "" msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -972,8 +972,8 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1109,10 +1109,10 @@ msgstr "" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "" @@ -1435,11 +1435,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "" @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "" @@ -1914,6 +1914,22 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "" - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1129 +2315,1129 @@ msgstr "" msgid "Template" msgstr "" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1878 +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3434,24 +3445,24 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3462,101 +3473,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3566,31 +3577,39 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3688,6 +3707,23 @@ msgstr "" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "" + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3918,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -3929,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,7 +3980,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3989,7 +4025,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4015,7 +4051,7 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4032,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "" @@ -4053,26 +4089,26 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4097,7 +4133,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "" @@ -4117,11 +4153,11 @@ msgstr "" msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4194,7 +4230,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4405,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4505,7 +4541,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4555,10 +4591,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4712,7 +4748,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4770,11 +4806,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +4995,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5021,8 +5057,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" @@ -5070,7 +5106,7 @@ msgstr "" msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5144,7 +5180,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5153,163 +5189,163 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5735,34 +5771,34 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5771,11 +5807,11 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5787,11 +5823,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5804,12 +5840,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5827,8 +5863,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5943,8 +5979,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5952,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5970,371 +6006,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6346,686 +6382,686 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -7251,15 +7287,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8308,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8324,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -8832,7 +8868,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8877,7 +8913,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" @@ -8889,7 +8925,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" @@ -8966,7 +9002,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" @@ -8998,7 +9034,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9122,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "" @@ -9444,7 +9480,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "" @@ -9464,11 +9500,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10199,20 +10235,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "" @@ -10705,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "" @@ -14334,3 +14370,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po index 8fbe805bf1..1b5170c619 100644 --- a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:55\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Latvian\n" "Language: lv_LV\n" @@ -56,18 +56,18 @@ msgstr "" msgid "Enter date" msgstr "Ievadiet datumu" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "" @@ -440,10 +440,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "" msgid "Path" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "" @@ -750,14 +750,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "" msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -972,8 +972,8 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1109,10 +1109,10 @@ msgstr "" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "" @@ -1435,11 +1435,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "" @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "" @@ -1914,6 +1914,22 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "" - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1129 +2315,1129 @@ msgstr "" msgid "Template" msgstr "" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1878 +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3434,24 +3445,24 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3462,101 +3473,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3566,31 +3577,39 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3688,6 +3707,23 @@ msgstr "" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "" + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3918,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -3929,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,7 +3980,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3989,7 +4025,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4015,7 +4051,7 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4032,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "" @@ -4053,26 +4089,26 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4097,7 +4133,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "" @@ -4117,11 +4153,11 @@ msgstr "" msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4194,7 +4230,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4405,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4505,7 +4541,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4555,10 +4591,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4712,7 +4748,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4770,11 +4806,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +4995,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5021,8 +5057,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" @@ -5070,7 +5106,7 @@ msgstr "" msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5144,7 +5180,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5153,163 +5189,163 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5735,34 +5771,34 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5771,11 +5807,11 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5787,11 +5823,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5804,12 +5840,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5827,8 +5863,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5943,8 +5979,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5952,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5970,371 +6006,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6346,686 +6382,686 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -7251,15 +7287,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8308,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8324,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -8832,7 +8868,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8877,7 +8913,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" @@ -8889,7 +8925,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" @@ -8966,7 +9002,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" @@ -8998,7 +9034,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9122,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "" @@ -9444,7 +9480,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "" @@ -9464,11 +9500,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10199,20 +10235,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "" @@ -10705,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "" @@ -14334,3 +14370,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po index 5524c4bd1b..1e18139c11 100644 --- a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:54\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -56,18 +56,18 @@ msgstr "Error details kunnen worden gevonden in het admin scherm" msgid "Enter date" msgstr "Voer datum in" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "Bijlage" msgid "Select file to attach" msgstr "Bestand als bijlage selecteren" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "Bestand als bijlage selecteren" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "Link naar externe URL" @@ -440,10 +440,10 @@ msgstr "Opmerking" msgid "File comment" msgstr "Bestand opmerking" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "Dubbele namen kunnen niet bestaan onder hetzelfde bovenliggende object" msgid "Invalid choice" msgstr "Ongeldige keuze" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "Naam" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "bovenliggende" msgid "Path" msgstr "Pad" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "Markdown notitie (optioneel)" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "Streepjescode gegevens" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "Streepjescode van derden" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "Hash van Streepjescode" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "Unieke hash van barcode gegevens" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "Bestaande barcode gevonden" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "Serverfout" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "Er is een fout gelogd door de server." -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "Selecteer valuta uit beschikbare opties" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "Bestandsnaam" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "Ongeldige waarde" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "Data bestand" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "Selecteer een bestand om te uploaden" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "Niet ondersteund bestandstype" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "Bestand is te groot" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "Geen kolommen gevonden in het bestand" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "Geen data rijen gevonden in dit bestand" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "Geen data rijen opgegeven" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "Geen gegevenskolommen opgegeven" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Verplichte kolom ontbreekt: '{name}'" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dubbele kolom: '{col}'" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "URL van extern afbeeldingsbestand" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "Afbeeldingen van externe URL downloaden is niet ingeschakeld" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "Achtergrondwerker check is gefaald" @@ -750,14 +750,14 @@ msgstr "Over InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Verbruiksartikelen" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "Gevolgd" msgid "Allocated" msgstr "Toegewezen" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "Productieorderreferentie" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "Productiestatus" msgid "Build status code" msgstr "Productiestatuscode" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batchcode" @@ -972,8 +972,8 @@ msgstr "Batchcode" msgid "Batch code for this build output" msgstr "Batchcode voor deze productieuitvoer" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "Gebruiker die de productieorder heeft gegeven" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "Bouw prioriteit" msgid "Priority of this build order" msgstr "Prioriteit van deze bouwopdracht" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "Productuitvoer komt niet overeen met de Productieorder" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" @@ -1109,10 +1109,10 @@ msgstr "Bouw object" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "Bouw object" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "Hoeveelheid moet 1 zijn voor geserialiseerde voorraad" msgid "Selected stock item does not match BOM line" msgstr "Geselecteerde voorraadartikelen komen niet overeen met de BOM-regel" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" 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:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Serienummers" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "Voer serienummers in voor productieuitvoeren" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "Locatie van voltooide productieuitvoeren" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "Accepteer dat voorraadartikelen niet volledig zijn toegewezen aan deze p msgid "Required stock has not been fully allocated" msgstr "Vereiste voorraad is niet volledig toegewezen" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "Accepteer Onvolledig" @@ -1435,11 +1435,11 @@ msgstr "Bouw lijn-item" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part moet naar hetzelfde onderdeel wijzen als de productieorder" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "Artikel moet op voorraad zijn" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Beschikbare hoeveelheid ({q}) overschreden" @@ -1452,7 +1452,7 @@ msgstr "Productieuitvoer moet worden opgegeven voor de toewijzing van gevolgde o 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:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "Allocaties voor artikelen moeten worden opgegeven" @@ -1496,7 +1496,7 @@ msgstr "Alloceer optionele BOM items om bestelling te bouwen" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "Stuklijstartikel" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "" msgid "On Order" msgstr "In bestelling" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "Bijlagen" msgid "Build Notes" msgstr "Productie notities" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "" @@ -1914,6 +1914,22 @@ msgstr "Productieorderdetails" msgid "Incomplete Outputs" msgstr "Onvolledige Productieuitvoeren" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "Geen plug-in gevonden" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "{name.title()} Bestand" msgid "Select {name} file to upload" msgstr "Kies {name} bestand om te uploaden" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "Bijgewerkt" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "Tijdstempel van laatste update" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "Unieke projectcode" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "Projectbeschrijving" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig)" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "Instellingswaarde" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "Gekozen waarde is geen geldige optie" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "Waarde moet een booleaanse waarde zijn" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "Waarde moet een geheel getal zijn" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "Sleutelreeks moet uniek zijn" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "Geen groep" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "Een leeg domein is niet toegestaan." - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "Ongeldige domeinnaam: {domain}" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "Geen plug-in gevonden" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "Opnieuw opstarten vereist" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "Een instelling is gewijzigd waarvoor een herstart van de server vereist is" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "Migraties in behandeling" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "ID Serverinstantie" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "Stringbeschrijving voor de server instantie" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "Gebruik de instantie naam" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "Gebruik de naam van de instantie in de titelbalk" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "Tonen `over` beperken" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "Toon de `over` modal alleen aan superusers" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "Bedrijfsnaam" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "Interne bedrijfsnaam" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "Basis-URL" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "Basis URL voor serverinstantie" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "Standaard Valuta" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "Selecteer basisvaluta voor de berekening van prijzen" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "dagen" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "Download van URL" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "Download van afbeeldingen en bestanden vanaf een externe URL toestaan" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "Download limiet" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "Maximale downloadgrootte voor externe afbeelding" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "User-agent gebruikt om te downloaden van URL" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Sta toe om de user-agent te overschrijven die gebruikt wordt om afbeeldingen en bestanden van externe URL te downloaden (laat leeg voor de standaard)" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "Bevestiging vereist" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "Vereis expliciete bevestiging van de gebruiker voor bepaalde actie." -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "Boomstructuur Diepte" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Standaard diepte voor treeview. Diepere niveaus kunnen geladen worden wanneer ze nodig zijn." -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "Interval voor update" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "Hoe vaak te controleren op updates (nul om uit te schakelen)" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "Automatische backup" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "Automatische back-up van database- en mediabestanden inschakelen" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "Automatische backup interval" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "Geef het aantal dagen op tussen geautomatiseerde backup" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "Interval Taak Verwijderen" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "Resultaten van achtergrondtaken worden verwijderd na het opgegeven aantal dagen" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "Error Log Verwijderings Interval" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "Resultaten van achtergrondtaken worden verwijderd na het opgegeven aantal dagen" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "Interval Verwijderen Notificatie" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "Meldingen van gebruikers worden verwijderd na het opgegeven aantal dagen" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Streepjescodeondersteuning" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "Barcode Invoer Vertraging" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "Barcode invoerverwerking vertraging" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "Barcode Webcam Ondersteuning" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "Barcode via webcam scannen in browser toestaan" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "Herzieningen onderdeel" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "Revisieveld voor onderdeel inschakelen" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "Regulier expressiepatroon voor het overeenkomende Onderdeel IPN" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "Duplicaat IPN toestaan" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "Toestaan dat meerdere onderdelen dezelfde IPN gebruiken" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "Bewerken IPN toestaan" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "Sta het wijzigen van de IPN toe tijdens het bewerken van een onderdeel" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "Kopieer Onderdeel Stuklijstgegevens" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "Kopieer standaard stuklijstgegevens bij het dupliceren van een onderdeel" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "Kopieer Onderdeel Parametergegevens" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "Parametergegevens standaard kopiëren bij het dupliceren van een onderdeel" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "Kopieer Onderdeel Testdata" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "Testdata standaard kopiëren bij het dupliceren van een onderdeel" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "Kopiëer Categorieparameter Sjablonen" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1131 +2315,1129 @@ msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel" msgid "Template" msgstr "Sjabloon" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "Onderdelen zijn standaard sjablonen" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Samenstelling" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "Koopbaar" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "Onderdelen kunnen standaard gekocht worden" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Verkoopbaar" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "Onderdelen kunnen standaard verkocht worden" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Volgbaar" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "Onderdelen kunnen standaard gevolgd worden" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Virtueel" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "Onderdelen zijn standaard virtueel" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "Toon Import in Weergaven" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "Toon de importwizard in sommige onderdelenweergaven" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "Verwante onderdelen tonen" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "Verwante onderdelen voor een onderdeel tonen" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "Initiële voorraadgegevens" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "Aanmaken van eerste voorraad toestaan bij het toevoegen van een nieuw onderdeel" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Initiële leveranciergegevens" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Aanmaken van eerste leveranciersgegevens toestaan bij het toevoegen van een nieuw onderdeel" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "Onderdelennaam Weergaveopmaak" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "Opmaak om de onderdeelnaam weer te geven" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "Standaardicoon voor onderdeel catagorie" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "Standaardicoon voor onderdeel catagorie (leeg betekent geen pictogram)" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "Forceer Parameter Eenheden" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "Als er eenheden worden opgegeven, moeten parameterwaarden overeenkomen met de opgegeven eenheden" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "Minimaal aantal prijs decimalen" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Minimaal aantal decimalen om weer te geven bij het weergeven van prijsgegevens" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "Maximum prijs decimalen" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Maximum aantal decimalen om weer te geven bij het weergeven van prijsgegevens" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "Gebruik leveranciersprijzen" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Prijsvoordelen leveranciers opnemen in de totale prijsberekening" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "Aankoopgeschiedenis overschrijven" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historische order prijzen overschrijven de prijzen van de leverancier" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "Gebruik voorraaditem prijzen" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Gebruik prijzen van handmatig ingevoerde voorraadgegevens voor prijsberekeningen" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "Voorraad artikelprijs leeftijd" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Voorraaditems ouder dan dit aantal dagen uitsluiten van prijsberekeningen" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "Gebruik variantprijzen" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "Variantenprijzen opnemen in de totale prijsberekening" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "Alleen actieve varianten" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "Gebruik alleen actieve variantonderdelen voor het berekenen van variantprijzen" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "Prijzen Herbouw interval" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "Aantal dagen voordat de prijzen voor onderdelen automatisch worden bijgewerkt" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "Interne Prijzen" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "Inschakelen van interne prijzen voor onderdelen" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "Interne prijs overschrijven" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "Indien beschikbaar, interne prijzen overschrijven berekeningen van prijsbereik" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "Printen van labels Inschakelen" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "Printen van labels via de webinterface inschakelen" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "Label Afbeelding DPI" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "DPI resolutie bij het genereren van afbeelginsbestanden voor label printer plugins" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "Activeer Rapportages" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "Activeer het genereren van rapporten" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "Foutopsporingsmodus" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "Rapporten genereren in debug modus (HTML uitvoer)" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "Paginagrootte" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "Standaard paginagrootte voor PDF rapporten" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "Activeer Testrapporten" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "Activeer het genereren van testrapporten" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "Testrapporten Toevoegen" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Bij het afdrukken van een Testrapport, voeg een kopie van het Testrapport toe aan het bijbehorende Voorraadartikel" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "Globaal unieke serienummers" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "Serienummers voor voorraaditems moeten globaal uniek zijn" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "Serienummers automatisch invullen" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "Automatisch invullen van serienummer in formulieren" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "Verwijder uitgeputte voorraad" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "Batchcode Sjabloon" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "Sjabloon voor het genereren van standaard batchcodes voor voorraadartikelen" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "Verlopen Voorraad" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "Verlopen voorraad functionaliteit inschakelen" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "Verkoop Verlopen Voorraad" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "Verkoop verlopen voorraad toestaan" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "Voorraad Vervaltijd" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "Aantal dagen voordat voorraadartikelen als verouderd worden beschouwd voor ze verlopen" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "Produceer Verlopen Voorraad" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "Sta productie met verlopen voorraad toe" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "Voorraad Eigenaar Toezicht" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "Eigenaarstoezicht over voorraadlocaties en items inschakelen" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "Voorraadlocatie standaard icoon" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "Standaard locatie pictogram (leeg betekent geen icoon)" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "Geïnstalleerde voorraad items weergeven" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "Geïnstalleerde voorraadartikelen in voorraadtabellen tonen" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "Productieorderreferentiepatroon" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "Vereist patroon voor het genereren van het Bouworderreferentieveld" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "Retourorders inschakelen" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "Retourorder functionaliteit inschakelen in de gebruikersinterface" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "Retourorder referentie patroon" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "Bewerk voltooide retourorders" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "Bewerken van retourorders toestaan nadat deze zijn voltooid" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "Verkooporderreferentiepatroon" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "Vereist patroon voor het genereren van het Verkooporderreferentieveld" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "Standaard Verzending Verkooporder" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "Aanmaken standaard verzending bij verkooporders inschakelen" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "Bewerk voltooide verkooporders" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Bewerken van verkooporders toestaan nadat deze zijn verzonden of voltooid" -#: common/models.py:1878 -#, fuzzy -#| msgid "Mark order as complete" +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" -msgstr "Order markeren als voltooid" +msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "Inkooporderreferentiepatroon" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "Vereist patroon voor het genereren van het Inkooporderreferentieveld" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "Bewerk voltooide verkooporders" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Bewerken van inkooporders toestaan nadat deze zijn verzonden of voltooid" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "Wachtwoord vergeten functie inschakelen" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "Wachtwoord vergeten functie inschakelen op de inlogpagina's" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "Registratie inschakelen" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "Zelfregistratie voor gebruikers op de inlogpagina's inschakelen" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "SSO inschakelen" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "SSO inschakelen op de inlogpagina's" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "Schakel gebruikersregistratie met SSO in" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Zelfregistratie voor gebruikers middels SSO op de inlogpagina's inschakelen" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "E-mailadres verplicht" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "Vereis gebruiker om e-mailadres te registreren bij aanmelding" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "SSO-gebruikers automatisch invullen" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "Gebruikersdetails van SSO-accountgegevens automatisch invullen" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "E-mail twee keer" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "Bij inschrijving gebruikers twee keer om hun e-mail vragen" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "Wachtwoord tweemaal" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "Laat gebruikers twee keer om hun wachtwoord vragen tijdens het aanmelden" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "Toegestane domeinen" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Inschrijven beperken tot bepaalde domeinen (komma-gescheiden, beginnend met @)" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "Groep bij aanmelding" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "Groep waaraan nieuwe gebruikers worden toegewezen bij registratie" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "MFA afdwingen" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "Gebruikers moeten multifactor-beveiliging gebruiken." -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "Controleer plugins bij het opstarten" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Controleer of alle plug-ins zijn geïnstalleerd bij het opstarten - inschakelen in container-omgevingen" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "Activeer URL-integratie" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "Plugins toestaan om URL-routes toe te voegen" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "Activeer navigatie integratie" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "Plugins toestaan om te integreren in navigatie" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "Activeer app integratie" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "Activeer plug-ins om apps toe te voegen" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "Activeer planning integratie" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "Activeer plugin om periodiek taken uit te voeren" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "Activeer evenement integratie" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "Activeer plugin om op interne evenementen te reageren" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "Activeer project codes" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "Activeer project codes voor het bijhouden van projecten" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "Voorraadcontrole functionaliteit" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Schakel voorraadfunctionaliteit in voor het opnemen van voorraadniveaus en het berekenen van voorraadwaarde" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "Externe locaties uitsluiten" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Voorraadartikelen op externe locaties uitsluiten van voorraadberekeningen" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "Automatische Voorraadcontrole Periode" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Aantal dagen tussen automatische voorraadopname (ingesteld op nul om uit te schakelen)" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "Rapport Verwijdering Interval" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Voorraadrapportage zal worden verwijderd na het opgegeven aantal dagen" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "Inactieve Onderdelen Verbergen" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Verberg inactieve delen bij items op de homepage" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "Toon geabonneerde onderdelen" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "Toon geabonneerde onderdelen op de homepage" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "Toon geabonneerde categorieën" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "Toon geabonneerde onderdeel categorieën op de startpagina" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "Toon laatste onderdelen" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "Toon laatste onderdelen op de startpagina" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "Laat BOMs zien die wachten op validatie op de startpagina" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "Toon recente voorraadwijzigingen" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "Toon recent aangepaste voorraadartikelen op de startpagina" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "Toon lage voorraad" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "Toon lage voorraad van artikelen op de startpagina" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "Toon lege voorraad" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "Toon lege voorraad van artikelen op de startpagina" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "Toon benodigde voorraad" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "Toon benodigde voorraad van artikelen voor productie op de startpagina" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "Toon verlopen voorraad" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "Toon verlopen voorraad van artikelen op de startpagina" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "Toon verouderde voorraad" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "Toon verouderde voorraad van artikelen op de startpagina" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "Toon openstaande producties" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "Toon openstaande producties op de startpagina" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "Toon achterstallige productie" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "Toon achterstallige producties op de startpagina" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "Toon uitstaande PO's" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "Toon uitstaande PO's op de startpagina" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "Toon achterstallige PO's" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "Toon achterstallige PO's op de startpagina" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "Toon uitstaande SO's" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "Toon uitstaande SO's op de startpagina" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "Toon achterstallige SO's" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "Toon achterstallige SO's op de startpagina" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "Toon in behandeling SO verzendingen" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "Toon in behandeling zijnde SO verzendingen op de startpagina" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "Nieuws tonen" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "Nieuws op de startpagina weergeven" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "Inline labelweergave" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "PDF-labels in browser weergeven, in plaats van als bestand te downloaden" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "Standaard label printer" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "Instellen welke label printer standaard moet worden geselecteerd" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "Inline rapport weergeven" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "PDF-rapporten in de browser weergeven, in plaats van als bestand te downloaden" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "Zoek Onderdelen" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "Onderdelen weergeven in zoekscherm" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "Zoek leveranciersonderdelen" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "Leveranciersonderdelen weergeven in zoekscherm" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "Fabrikant onderdelen zoeken" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "Fabrikant onderdelen weergeven in zoekscherm" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "Inactieve Onderdelen Verbergen" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "Inactieve verkooporders weglaten in het zoekvenster" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "Zoek categorieën" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "Toon onderdeelcategorieën in zoekvenster" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "Zoek in Voorraad" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "Toon voorraad items in zoekvenster" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "Verberg niet beschikbare voorraad items" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "Voorraadartikelen die niet beschikbaar zijn niet in het zoekvenster weergeven" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "Locaties doorzoeken" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "Toon voorraadlocaties in zoekvenster" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "Zoek bedrijven" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "Toon bedrijven in zoekvenster" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "Zoek Bouworders" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "Toon bouworders in zoekvenster" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "Inkooporders Zoeken" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "Toon inkooporders in het zoekvenster" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "Inactieve Inkooporders Weglaten" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inactieve inkooporders weglaten in het zoekvenster" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "Verkooporders zoeken" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "Toon verkooporders in het zoekvenster" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "Inactieve Verkooporders Weglaten" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "Inactieve verkooporders weglaten in het zoekvenster" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "Zoek retourorders" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "Toon bouworders in zoekvenster" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "Inactieve retourbestellingen weglaten" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "Inactieve retourorders uitsluiten in zoekvenster" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "Zoekvoorbeeld resultaten" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "Aantal resultaten om weer te geven in elk gedeelte van het zoekvenster" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "Regex zoeken" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "Schakel reguliere expressies in zoekopdrachten in" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "Hele woorden zoeken" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "Zoekopdrachten geven resultaat voor hele woord overeenkomsten" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "Toon hoeveelheid in formulieren" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "Hoeveelheid beschikbare onderdelen in sommige formulieren weergeven" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "Escape-toets sluit formulieren" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "Gebruik de Escape-toets om standaard formulieren te sluiten" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "Vaste navigatiebalk" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "De navigatiebalk positie is gefixeerd aan de bovenkant van het scherm" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "Datum formaat" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "Voorkeursindeling voor weergave van datums" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Onderdeel planning" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "Toon informatie voor het plannen van onderdelen" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Voorraadcontrole onderdeel" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Toon voorraadinformatie van onderdeel (als voorraadcontrole functionaliteit is ingeschakeld)" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "Tabel tekenreekslengte" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "Standaard sjabloon product onderdeel" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "Het onderdeellabelsjabloon dat automatisch wordt geselecteerd" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "Standaard sjabloon voorraad onderdeel" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "Standaard label van voorraadlocatie" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "Foutrapportages ontvangen" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "Meldingen ontvangen van systeemfouten" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3436,24 +3445,24 @@ msgstr "" msgid "Price" msgstr "Prijs" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "Eindpunt" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "Eindpunt waarop deze webhook wordt ontvangen" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "Naam van deze webhook" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3464,101 +3473,101 @@ msgstr "Naam van deze webhook" msgid "Active" msgstr "Actief" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "Is deze webhook actief" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "Token voor toegang" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "Geheim" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "Gedeeld geheim voor HMAC" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "Bericht ID" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "Koptekst" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "Koptekst van dit bericht" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "Berichtinhoud" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "Inhoud van dit bericht" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "Aan gewerkt" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titel" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "Gepubliceerd" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "Samenvatting" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "Gelezen" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3568,31 +3577,39 @@ msgstr "" msgid "Image" msgstr "Afbeelding" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "Afbeelding" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Symbool" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definitie" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3690,6 +3707,23 @@ msgstr "" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "Een leeg domein is niet toegestaan." + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "Ongeldige domeinnaam: {domain}" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3920,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Basis onderdeel" @@ -3931,7 +3965,7 @@ msgstr "Onderdeel selecteren" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3946,7 +3980,7 @@ msgid "Select manufacturer" msgstr "Fabrikant selecteren" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3991,7 +4025,7 @@ msgid "Parameter value" msgstr "Parameterwaarde" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4017,7 +4051,7 @@ msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderd #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4034,7 +4068,7 @@ msgstr "Leverancier" msgid "Select supplier" msgstr "Leverancier selecteren" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "" @@ -4055,26 +4089,26 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "Opmerking" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "basisprijs" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimale kosten (bijv. voorraadkosten)" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4099,7 +4133,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "meerdere" @@ -4119,11 +4153,11 @@ msgstr "" msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4196,7 +4230,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4407,7 +4441,7 @@ msgstr "Geen fabrikanten informatie beschikbaar" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4507,7 +4541,7 @@ msgid "No supplier information available" msgstr "Geen leveranciersinformatie beschikbaar" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4557,10 +4591,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4714,7 +4748,7 @@ msgstr "" msgid "Total Price" msgstr "Totaalprijs" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4772,11 +4806,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4884,16 +4918,12 @@ msgid "shipped by" msgstr "verzonden door" #: order/models.py:1027 -#, fuzzy -#| msgid "Build output is already completed" msgid "Order is already complete" -msgstr "Productie uitvoer is al voltooid" +msgstr "" #: order/models.py:1030 -#, fuzzy -#| msgid "Order cannot be cancelled" msgid "Order is already cancelled" -msgstr "Order kan niet worden geannuleerd" +msgstr "" #: order/models.py:1034 msgid "Only an open order can be marked as complete" @@ -4965,7 +4995,7 @@ msgstr "Ontvangen" msgid "Number of items received" msgstr "Aantal ontvangen artikelen" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5027,8 +5057,8 @@ msgstr "Gecontroleerd door" msgid "User who checked this shipment" msgstr "Gebruiker die deze zending gecontroleerd heeft" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Zending" @@ -5076,7 +5106,7 @@ msgstr "Kan voorraad niet toewijzen aan een regel zonder onderdeel" msgid "Allocation quantity cannot exceed stock quantity" msgstr "Toewijzingshoeveelheid kan niet hoger zijn dan de voorraadhoeveelheid" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerd voorraadartikel" @@ -5150,7 +5180,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5159,163 +5189,163 @@ msgstr "" msgid "Line Items" msgstr "Artikelen" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "Order kan niet worden geannuleerd" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "Order is niet open" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "Valuta Inkoopprijs" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "Leveranciersonderdeel moet worden gespecificeerd" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "Inkooporder moet worden gespecificeerd" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "De leverancier moet overeenkomen met de inkooporder" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "Inkooporder moet overeenkomen met de leverancier" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "Artikel" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "Artikelregel komt niet overeen met inkooporder" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "Selecteer bestemmingslocatie voor ontvangen artikelen" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "Voer serienummers in voor inkomende voorraadartikelen" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "Streepjescode is al in gebruik" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "Artikelen moeten worden opgegeven" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "Bestemmingslocatie moet worden opgegeven" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "Geleverde streepjescodewaarden moeten uniek zijn" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "Valuta verkoopprijs" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "Geen verzenddetails opgegeven" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "Artikelregel is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "Hoeveelheid moet positief zijn" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "Voer serienummers in om toe te wijzen" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "Verzending is al verzonden" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "Zending is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "Geen overeenkomst gevonden voor de volgende serienummers" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "De volgende serienummers zijn al toegewezen" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5741,34 +5771,34 @@ msgstr "{part} stukprijs bijgewerkt naar {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} stukprijs bijgewerkt naar {price} en aantal naar {qty}" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "Onderdeel-id" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Onderdeel naam" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "Onderdeel omschrijving" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5777,11 +5807,11 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5793,11 +5823,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5810,12 +5840,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5833,8 +5863,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5857,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5949,8 +5979,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5958,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Standaard locatie" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Totale Voorraad" @@ -5976,371 +6006,371 @@ msgstr "Totale Voorraad" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Onderdeel Categorie" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Onderdeel Categorieën" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "Standaard locatie voor onderdelen in deze categorie" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Onderdelen mogen niet rechtstreeks aan een structurele categorie worden toegewezen, maar kunnen worden toegewezen aan subcategorieën." -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "Onderdeel naam" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "Onderdeel Categorie" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "Intern Onderdeelnummer" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "Standaardleverancier" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "Eenheden voor dit onderdeel" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "Onderdeel voor voorraadcontrole" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6352,686 +6382,686 @@ msgstr "" msgid "Date" msgstr "Datum" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Aantal onderdelen" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Ingeschakeld" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "De template van de parameter moet uniek zijn" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "Parameternaam" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "Parameterwaarde" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "Standaard Parameter Waarde" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "Geen onderdelen geselecteerd" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "Afbeelding kopiëren" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "Afbeelding kopiëren van het oorspronkelijke onderdeel" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "Parameters kopiëren" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "Parameter data kopiëren van het originele onderdeel" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "Ongeldige hoeveelheid" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -7257,15 +7287,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "Onderdeelfabrikanten" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8314,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8330,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -8838,7 +8868,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8883,7 +8913,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" @@ -8895,7 +8925,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" @@ -8972,7 +9002,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" @@ -9004,7 +9034,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9128,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Sublocaties" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "Artikel is toegewezen aan een verkooporder" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "Artikel is toegewezen aan een productieorder" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "" @@ -9450,7 +9480,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "" @@ -9470,11 +9500,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10205,20 +10235,20 @@ msgstr "Inkooporder Instellingen" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "" @@ -10711,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "" @@ -14340,3 +14370,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po index 482a4ae280..9d4bb07021 100644 --- a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:54\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -56,18 +56,18 @@ msgstr "Feildetaljer kan finnes i admin-panelet" msgid "Enter date" msgstr "Oppgi dato" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "Vedlegg" msgid "Select file to attach" msgstr "Velg fil å legge ved" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "Velg fil å legge ved" msgid "Link" msgstr "Lenke" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "Lenke til ekstern URL" @@ -440,10 +440,10 @@ msgstr "Kommentar" msgid "File comment" msgstr "Kommentar til fil" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "Duplikatnavn kan ikke eksistere under samme overordnede" msgid "Invalid choice" msgstr "Ugyldig valg" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "Navn" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "overkategori" msgid "Path" msgstr "Sti" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "Markdown-notater (valgfritt)" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "Strekkodedata" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "Tredjeparts strekkodedata" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "Strekkode-hash" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "Unik hash av strekkodedata" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "Eksisterende strekkode funnet" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "Serverfeil" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "En feil har blitt logget av serveren." -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "Må være et gyldig tall" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "Velg valuta ut fra tilgjengelige alternativer" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "Du har ikke tillatelse til å endre denne brukerrollen." -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "Bare superbrukere kan opprette nye brukere" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "Din konto er opprettet." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "Vennligst bruk funksjonen for å tilbakestille passord for å logge inn" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "Velkommen til InvenTree" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "Filnavn" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "Ugyldig verdi" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "Datafil" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "Velg datafil for opplasting" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "Filtypen støttes ikke" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "Filen er for stor" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "Ingen kolonner funnet i filen" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "Ingen datarader funnet i fil" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "Ingen datarader oppgitt" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "Ingen datakolonner angitt" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Mangler påkrevd kolonne: '{name}'" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dupliaktkolonne: '{col}'" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "Eksternt bilde" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "URLtil ekstern bildefil" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "Nedlasting av bilder fra ekstern URL er ikke aktivert" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "Sjekk av bakgrunnsarbeider mislyktes" @@ -750,14 +750,14 @@ msgstr "Om InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Produksjonen må avbrytes før den kan slettes" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Forbruksvare" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "Spores" msgid "Allocated" msgstr "Tildelt" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "Produksjonsordre-referanse" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "Produksjonsordre som denne produksjonen er tildelt" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "Produksjonsordre som denne produksjonen er tildelt" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "Produksjonsstatus" msgid "Build status code" msgstr "Produksjonsstatuskode" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batchkode" @@ -972,8 +972,8 @@ msgstr "Batchkode" msgid "Batch code for this build output" msgstr "Batchkode for denne produksjonsartikkelen" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "Brukeren som utstedte denne produksjonsordren" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "Produksjonsprioritet" msgid "Priority of this build order" msgstr "Produksjonsordrens prioritet" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "Produksjonsartikkelen samsvarer ikke med produksjonsordren" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" @@ -1109,10 +1109,10 @@ msgstr "Produksjonsobjekt" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "Produksjonsobjekt" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "Mengden må være 1 for serialisert lagervare" msgid "Selected stock item does not match BOM line" msgstr "Valgt lagervare samsvarer ikke med BOM-linjen" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "Heltallsverdi kreves for sporbare deler" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Heltallsverdi kreves, da stykklisten inneholder sporbare deler" -#: build/serializers.py:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Serienummer" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "Angi serienummer for produksjonsartikler" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "Plassering for ferdige produksjonsartikler" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "Godta at lagervarer ikke er fullt tildelt til denne produksjonsordren" msgid "Required stock has not been fully allocated" msgstr "Nøvendig lagerbeholdning er ikke fullt tildelt" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "Godta uferdig" @@ -1435,11 +1435,11 @@ msgstr "Produksjonsartikkel" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part må peke på den samme delen som produksjonsordren" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "Artikkelen må være på lager" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Tilgjengelig antall ({q}) overskredet" @@ -1452,7 +1452,7 @@ msgstr "Produksjonsartikkel må spesifiseres for tildeling av sporede deler" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Produksjonsartikkel kan ikke spesifiseres for tildeling av usporede deler" -#: build/serializers.py:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "Tildelingsartikler må oppgis" @@ -1496,7 +1496,7 @@ msgstr "Tildel valgfrie BOM-artikler til produksjonsordre" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "BOM-artikkel" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "Tildelt lagerbeholdning" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "Tildelt lagerbeholdning" msgid "On Order" msgstr "I bestilling" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "I produksjon" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "Vedlegg" msgid "Build Notes" msgstr "Produksjonsnotater" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "Tildeling fullført" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "Alle linjer er fullt tildelt" @@ -1914,6 +1914,22 @@ msgstr "Produksjonsordre-detaljer" msgid "Incomplete Outputs" msgstr "Ufullstendige artikler" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "Ingen programtillegg" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "{name.title()} Fil" msgid "Select {name} file to upload" msgstr "Velg {name} fil som skal lastes opp" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "Oppdatert" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "Tidsstempel for forrige oppdatering" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "Unik prosjektkode" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "Prosjektbeskrivelse" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "Bruker eller gruppe ansvarlig for dette prosjektet" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "Innstillingsnøkkel (må være unik - ufølsom for store of små bokstaver)" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "Innstillings verdi" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "Valgt verdi er ikke et gyldig alternativ" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "Verdien må være en boolsk verdi" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "Verdien må være et heltall" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "Nøkkelstreng må være unik" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "Ingen gruppe" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "Et tomt domene er ikke tillatt." - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "Ugyldig domenenavn: {domain}" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "Ingen programtillegg" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "Omstart kreves" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "En innstilling har blitt endret som krever en omstart av serveren" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "Ventende migrasjoner" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "Antall ventende databasemigreringer" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "Navn på serverinstans" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "Strengbeskrivelse for serverinstansen" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "Bruk instansnavn" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "Bruk instansnavnet på tittellinjen" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "Begrens visning av 'om'" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "Vis `about`-modal kun til superbrukere" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "Firmanavn" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "Internt firmanavn" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "Base-URL" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "Base-URL for serverinstans" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "Standardvaluta" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "Velg grunnvalutaen for prisberegninger" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "Oppdateringsintervall for valuta" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Hvor ofte valutakurser skal oppdateres (sett til null for å deaktiverere)" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "dager" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "Valutaoppdaterings-plugin" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "Valgt valutaoppdaterings-plugin" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "Last ned fra URL" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "Tillat nedlastning av eksterne bilder og filer fra ekstern URL" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "Nedlastingsgrense" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "Maksimal tillatt nedlastingsstørrelse for eksternt bilde" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "User-Agent brukt for å laste ned fra URL" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Tillat overstyring av User-Agent brukt for å laste ned bilder og filer fra eksterne URLer (lå stå blank for standard)" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "Streng URL-validering" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "Krev skjemaspesifikasjon ved validering av URLer" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "Krev bekreftelse" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "Krev eksplisitt brukerbekreftelse for visse handlinger." -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "Tredybde" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Standard tredybde for trevisning. Dypere nivåer kan lastes inn ved behov." -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "Intervall for oppdateringssjekk" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "Tidsintervall for å se etter oppdateringer(sett til null for å skru av)" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "Automatisk sikkerhetskopiering" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "Aktiver automatisk sikkerhetskopiering av database og mediafiler" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "Automatisk sikkerhetskopieringsintervall" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "Angi antall dager mellom automatiske sikkerhetskopieringshendelser" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "Slettingsintervall for oppgaver" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "Bakgrunnsoppgaveresultater vil bli slettet etter antall angitte dager" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "Slettingsintervall for feillogg" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "Feilloggene vil bli slettet etter et angitt antall dager" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "Slettingsintervall for varsler" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "Brukervarsler slettes etter angitt antall dager" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Strekkodestøtte" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "Aktiver støtte for strekkodeleser i webgrensesnittet" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "Innlesingsforsinkelse for strekkode" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "Tidsforsinkelse for behandling av strekkode" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "Støtte for strekkodewebkamera" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "Tillat strekkodelesning via webkamera i nettleseren" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "Delrevisjoner" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "Aktiver revisjonsfeltet for Del" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "IPN regex" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "Regulært uttrykksmønster for matching av internt delnummer" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "Tilat duplikat av internt delnummer" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "Tillat flere deler å dele samme interne delnummer" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "Tillat redigering av internt delnummer" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "Tillat endring av IPN-verdien mens du redigerer en del" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "Kopier BOM-data fra del" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "Kopier BOM-data som standard når du dupliserer en del" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "Kopier parameterdata fra del" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "Kopier parameterdata som standard ved duplisering av en del" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "Kopier testdata fra del" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "Kopier testdata som standard ved duplisering av en del" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "Kopier designmaler for kategoriparametere" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "Kopier parametermaler for kategori ved oppretting av en del" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1131 +2315,1129 @@ msgstr "Kopier parametermaler for kategori ved oppretting av en del" msgid "Template" msgstr "Mal" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "Deler er maler som standard" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Sammenstilling" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "Deler kan settes sammen fra andre komponenter som standard" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Komponent" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "Deler kan bli brukt som underkomponenter som standard" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "Kjøpbar" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "Deler er kjøpbare som standard" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Salgbar" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "Deler er salgbare som standard" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Sporbar" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "Deler er sporbare som standard" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Virtuelle" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "Deler er virtuelle som standard" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "Vis import i visninger" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "Vis importveiviseren i noen deler visninger" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "Vis relaterte deler" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "Vis relaterte deler i en del" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "Innledende lagerbeholdningsdata" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "Tillat oppretting av innledende lagerbeholdning når en ny del opprettes" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Innledende leverandørdata" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Tillat oppretting av innledende leverandørdata når en ny del opprettes" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "Visningsformat for delnavn" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "Format for å vise delnavnet" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "Standardikon for delkategorier" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "Standardikon for delkategorier (tomt betyr ingen ikon)" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "Tving parameterenheter" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "Hvis det er angitt en enhet, skal parameterverdiene samsvare med de angitte enhetene" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "Minimum antall desimalplasser for priser" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Minimum antall desimalplasser som skal vises når man gjengir prisdata" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "Maksimalt antall desimalplasser for priser" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Maksimalt antall desimalplasser som skal vises når man gjengir prisdata" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "Bruk leverandørpriser" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Inkluder leverandørprisbrudd i beregninger av totalpriser" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "Innkjøpshistorikkoverstyring" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historiske innkjøpspriser overstyrer leverandørprisnivåer" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "Bruk lagervarepriser" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Bruk priser fra manuelt innlagte lagervarer for prisberegninger" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "Lagervare prisalder" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Unnta lagervarer som er eldre enn dette antall dager fra prisberegninger" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "Bruk Variantpriser" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "Inkluder variantpriser i beregninger av totale priser" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "Kun aktive varianter" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "Bruk kun aktive variantdeler til beregning av variantprising" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "Intervall for rekalkulering av priser" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "Antall dager før delpriser blir automatisk oppdatert" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "Interne Priser" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "Aktiver interne priser for deler" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "Intern prisoverstyring" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "Hvis tilgjengelig, overstyrer interne priser kalkulering av prisområde" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "Aktiver etikettutskrift" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "Aktiver utskrift av etiketter fra nettleseren" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "Etikettbilde-DPI" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "DPI-oppløsning når når det genereres bildefiler for sending til utvidelser for etikettutskrift" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "Aktiver Rapporter" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "Aktiver generering av rapporter" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "Feilsøkingsmodus" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "Generer rapporter i feilsøkingsmodus (HTML-output)" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "Sidestørrelse" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "Standard sidestørrelse for PDF-rapporter" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "Aktiver Testrapporter" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "Aktiver generering av testrapporter" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "Legg ved testrapporter" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Når det skrives ut en Testrapport, legg ved en kopi av Testrapporten på den assosierte Lagervaren" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "Globalt Unike Serienummer" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "Serienummer for lagervarer må være globalt unike" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "Automatisk tildeling av Serienummer" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "Aumatisk fyll ut serienummer i skjemaer" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "Slett oppbrukt lagerbeholdning" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "Batchkodemal" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "Mal for generering av standard batchkoder for lagervarer" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "Lagerbeholdning utløper" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "Aktiver funksjonalitet for utløp av lagerbeholdning" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "Selg utløpt lagerbeholdning" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "Tillat salg av utgått lagerbeholdning" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "Foreldet lagerbeholdning tidsintervall" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "Antall dager før lagervarer er ansett som foreldet før utløp" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "Produsér Utløpt Lagerbeholdning" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "Tillat produksjon med utløpt lagerbeholdning" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "Kontroll over eierskap av lagerbeholdning" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "Aktiver eierskap over lagerplasseringer og -varer" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "Lagerplassering standard ikon" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "Lagerplassering standard ikon (tomt betyr ingen ikon)" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "Vis installerte lagervarer" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "Vis installerte lagervarer i lagertabeller" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "Produksjonsordre-referansemønster" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "Nødvendig mønster for å generere Produksjonsordre-referansefeltet" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "Aktiver returordrer" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "Aktiver returordrefunksjonalitet i brukergrensesnittet" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "Returordre-referansemønster" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "Rediger fullførte returordrer" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "Tillat redigering av returordrer etter de er fullført" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "Salgsordre-referansemønster" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "Påkrevd mønster for å generere salgsordrereferansefelt" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "Salgsordre standard fraktmetode" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "Aktiver opprettelse av standard forsendelse med salgsordrer" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "Rediger fullførte salgsordrer" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Tillat redigering av salgsordrer etter de har blitt sendt eller fullført" -#: common/models.py:1878 -#, fuzzy -#| msgid "Mark order as complete" +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" -msgstr "Merk ordren som fullført" +msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "Referansemønster for innkjøpsordre" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "Obligatorisk mønster for generering av referansefelt for innkjøpsordre" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "Rediger fullførte innkjøpsordre" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Tillat redigering av innkjøpsordre etter at de har blitt sendt eller fullført" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "Autofullfør innkjøpsordrer" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Automatisk merk innkjøpsordre som fullført når alle ordrelinjer er mottatt" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "Aktiver passord glemt" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "Ativer funskjon for glemt passord på innloggingssidene" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "Aktiver registrering" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "Aktiver egenregistrerting for brukerer på påloggingssidene" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "Aktiver SSO" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "Aktiver SSO på innloggingssidene" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "Aktiver SSO-registrering" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Aktiver selvregistrering via SSO for brukere på innloggingssiden" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "E-postadresse kreves" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "Krevt at brukere angir e-post ved registrering" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "Auto-utfyll SSO-brukere" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "Fyll automatisk ut brukeropplysninger fra SSO-kontodata" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "E-post to ganger" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "Spør brukeren om e-post to ganger ved registrering" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "Passord to ganger" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "Spør brukeren om passord to ganger ved registrering" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "Tillatte domener" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Begrens registrering til bestemte domener (kommaseparert, begynner med @)" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "Gruppe ved registrering" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "Gruppe nye brukere blir tilknyttet ved registrering" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "Krev MFA" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "Brukere må bruke flerfaktorsikkerhet." -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "Sjekk utvidelser ved oppstart" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Sjekk at alle utvidelser er installert ved oppstart - aktiver i containermiljøer" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "Aktiver URL-integrasjon" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "Tillat utvidelser å legge til URL-ruter" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "Aktiver navigasjonsintegrasjon" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "Tillat utvidelser å integrere mot navigasjon" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "Aktiver app-integrasjon" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "Tillat utvidelser å legge til apper" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "Aktiver tidsplanintegrasjon" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "Tillat utvidelser å kjøre planlagte oppgaver" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "Aktiver hendelsesintegrasjon" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "Tillat utvidelser å reagere på interne hendelser" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "Aktiver prosjektkoder" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "Aktiver prosjektkoder for å spore prosjekter" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "Varetellingsfunksjonalitet" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Aktiver varetellingsfunksjonalitet for å registrere lagernivåer og regne ut lagerverdi" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "Ekskluder eksterne plasseringer" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Eksluder lagervarer i eksterne plasseringer fra varetellinger" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "Automatisk varetellingsperiode" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Antall dager mellom automatisk varetellingsregistrering (sett til null for å deaktivere)" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "Rapportslettingsintervall" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Varetellingsrapporter vil slettes etter angitt antall dager" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "Vis brukernes fulle navn" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "Vis brukernes fulle navn istedet for brukernavn" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "Innstillingsnøkkel (må være unik - ufølsom for store og små bokstaver" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "Skjul inaktive elementer" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Skjul inaktive deler i resultater som vises på hjemmesiden" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "Vis abonnerte deler" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "Vis abonnerte deler på startsiden" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "Vis abonnerte kategorier" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "Vis abonnerte delkatekorier på startsiden" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "Vis nyeste deler" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "Vis nyeste deler på startsiden" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "Vis stykklister som venter på validering på startsiden" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "Vis nylige lagerendringer" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "Vis nylig endrede lagervarer på startsiden" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "Vis lav lagerbeholdning" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "Vis lave lagervarer på startsiden" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "Vis tomme lagervarer" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "Vis tom lagerbeholdning på startsiden" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "Vis nødvendig lagerbeholdning" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "Vis lagervarer som trengs for produksjon på startsiden" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "Vis utløpt lagerbeholdning" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "Vis utløpte lagervarer på startsiden" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "Vis foreldet lagerbeholdning" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "Vis foreldet lagerbeholdning på startsiden" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "Vis ventende produksjoner" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "Vi ventende produksjoner på startsiden" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "Vis forfalte produksjoner" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "Vis forfalte produksjoner på startsiden" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "Vis utestående Innkjøpsordrer" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "Vis utestående Innkjøpsordrer på startsiden" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "Vis forfalte Innkjøpsordrer" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "Vis forfalte Innkjøpsordrer på startsiden" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "Vis utestående Salgsordrer" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "Vis utestående Salgsordrer på startsiden" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "Vis forfalte SOer" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "Vis forfalte SOer på startsiden" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "Vis ventende SO-forsendelser" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "Vis ventende SO-forsendelser på startsiden" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "Vis Nyheter" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "Vis nyheter på startsiden" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "Innebygd etikettvisning" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Vis PDF-etiketter i nettleseren fremfor å lastes ned som en fil" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "Standard etikettskriver" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "Konfigurer hvilken etikettskriver som skal være valgt som standard" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "Innebygd rapportvisning" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Vis PDF-rapporter i nettleseren fremfor å lastes ned som en fil" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "Søk i Deler" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "Vis deler i forhåndsvsningsvinduet for søk" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "Søk i Leverandørdeler" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "Vis leverandørdeler i forhåndsvisningsvinduet for søk" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "Søk i Produsentdeler" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "Vis produsentdeler i forhåndsvisningsvinduet for søk" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "Skjul Inaktive Deler" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "Ekskluder inaktive deler fra forhåndsvisningsvinduet for søk" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "Søk i kategorier" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "Vis delkategorier i forhåndsvisningsvinduet for søk" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "Søk i lagerbeholdning" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "Vis lagervarer i forhåndsvisningsvinduet for søk" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "Skjul utilgjengelige Lagervarer" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "Ekskluder lagervarer som ikke er tilgjengelige fra forhåndsvisningsvinduet for søk" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "Søk i Plasseringer" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "Vis lagerplasseringer i forhåndsvisningsvinduet for søk" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "Søk i Firma" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "Vis firma i forhåndsvsningsvinduet for søk" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "Søk i Produksjonsordrer" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "Vis produksjonsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "Søk i Innkjøpsordrer" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "Vis innkjøpsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "Ekskluder inaktive Innkjøpsordrer" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "Ekskluder inaktive innkjøpsordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "Søk i Salgsordrer" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "Vis salgsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "Ekskluder Inaktive Salgsordrer" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "Ekskluder inaktive salgsordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "Søk i Returordrer" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "Vis returordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "Ekskluder Inaktive Returordrer" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "Ekskluder inaktive returordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "Forhåndsvisning av søkeresultater" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "Antall resultater å vise i hver seksjon av søkeresultatsforhåndsvisningen" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "Regex-søk" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "Aktiver regulære uttrykk i søkeord" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "Helordsøk" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "Søk returnerer resultater for treff med hele ord" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "Vis antall i skjemaer" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "Vis antall tilgjengelige deler i noen skjemaer" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "Escape-knappen lukker skjemaer" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "Bruk Escape-knappen for å lukke modal-skjemaer" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "Fast navigasjonsbar" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "Navigasjonsbarens posisjon er fast på toppen av skjermen" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "Datoformat" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "Foretrukket format for å vise datoer" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Delplanlegging" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "Vis delplanleggingsinformasjon" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Lagertelling for Del" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Vis lagertellingsinformasjon for del (om lagertellingsfunksjonalitet er aktivert)" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "Tabellstrenglengde" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "Maksimal lengdegrense for tekst vist i tabeller" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "Standard etikettmal for del" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "Etikettmalen for del som velges automatisk" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "Standard etikettmal for lagervare" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "Etikettmalen for lagervare som velges automatisk" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "Standard etikettmal for lagerplassering" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "Etikettmalen for lagerplassering som velges automatisk" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "Motta feilrapporter" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "Motta varsler om systemfeil" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "Antall for prisbrudd" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3436,24 +3445,24 @@ msgstr "Antall for prisbrudd" msgid "Price" msgstr "Pris" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "Enhetspris på spesifisert antall" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "Endepunkt" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "Endepunktet hvor denne webhooken er mottatt" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "Navn for webhooken" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3464,101 +3473,101 @@ msgstr "Navn for webhooken" msgid "Active" msgstr "Aktiv" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "Er webhooken aktiv" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "Sjetong" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "Nøkkel for tilgang" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "Hemmelig" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "Delt hemmlighet for HMAC" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "Melding ID" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "Unik Id for denne meldingen" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "Vert" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "Verten denne meldingen ble mottatt fra" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "Tittel" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "Overskrift for denne meldingen" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "Brødtekst" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "Innholdet i meldingen" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "Endepunktet meldingen ble mottatt fra" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "Arbeidet med" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "Var arbeidet med denne meldingen ferdig?" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Tittel" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "Publisert" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Forfatter" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "Sammendrag" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "Les" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "Er dette nyhetselementet lest?" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3568,31 +3577,39 @@ msgstr "Er dette nyhetselementet lest?" msgid "Image" msgstr "Bilde" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "Bildefil" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "Enhetsnavn må være en gyldig identifikator" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "Enhetsnavn" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "Valgfritt enhetssymbol" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definisjon" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "Enhetsdefinisjon" @@ -3690,6 +3707,23 @@ msgstr "Nøkkelordargumenter" msgid "Task keyword arguments" msgstr "Nøkkelordargumenter for oppgave" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "Et tomt domene er ikke tillatt." + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "Ugyldig domenenavn: {domain}" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3920,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "Lenke til adresseinformasjon (ekstern)" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Basisdel" @@ -3931,7 +3965,7 @@ msgstr "Velg del" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3946,7 +3980,7 @@ msgid "Select manufacturer" msgstr "Velg produsent" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3991,7 +4025,7 @@ msgid "Parameter value" msgstr "Parameterverdi" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4017,7 +4051,7 @@ msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4034,7 +4068,7 @@ msgstr "Leverandør" msgid "Select supplier" msgstr "Velg leverandør" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "Leverandørens lagerbeholdningsenhet" @@ -4055,26 +4089,26 @@ msgid "Supplier part description" msgstr "Leverandørens delbeskrivelse" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "Notat" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "grunnkostnad" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimum betaling (f.eks. lageravgift)" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4099,7 +4133,7 @@ msgstr "Pakkeantall" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Totalt antall i en enkelt pakke. La være tom for enkeltenheter." -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "flere" @@ -4119,11 +4153,11 @@ msgstr "Tilgjengelighet oppdatert" msgid "Date of last update of availability data" msgstr "Dato for siste oppdatering av tilgjengelighetsdata" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "Standardvaluta brukt for denne leverandøren" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4196,7 +4230,7 @@ msgstr "Slett bilde" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4407,7 +4441,7 @@ msgstr "Ingen produsentinformasjon tilgjengelig" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4507,7 +4541,7 @@ msgid "No supplier information available" msgstr "Ingen leverandørinformasjon tilgjengelig" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4557,10 +4591,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4714,7 +4748,7 @@ msgstr "" msgid "Total Price" msgstr "Total pris" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4772,11 +4806,11 @@ msgstr "Returordre" msgid "Total price for this order" msgstr "Total pris for denne ordren" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "Ordrevaluta" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "Valuta for denne ordren (la stå tom for å bruke firmastandard)" @@ -4884,16 +4918,12 @@ msgid "shipped by" msgstr "sendt av" #: order/models.py:1027 -#, fuzzy -#| msgid "Build output is already completed" msgid "Order is already complete" -msgstr "Produksjonsartikkelen er allerede fullført" +msgstr "" #: order/models.py:1030 -#, fuzzy -#| msgid "Order cannot be cancelled" msgid "Order is already cancelled" -msgstr "Ordren kan ikke kanselleres" +msgstr "" #: order/models.py:1034 msgid "Only an open order can be marked as complete" @@ -4965,7 +4995,7 @@ msgstr "Mottatt" msgid "Number of items received" msgstr "Antall enheter mottatt" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5027,8 +5057,8 @@ msgstr "Sjekket Av" msgid "User who checked this shipment" msgstr "Brukeren som sjekket forsendelsen" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Forsendelse" @@ -5076,7 +5106,7 @@ msgstr "Kan ikke tildele lagerbeholdning til en linje uten en del" msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tildelingsantall kan ikke overstige tilgjengelig lagerbeholdning" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "Antall må være 1 for serialisert lagervare" @@ -5150,7 +5180,7 @@ msgstr "Utfall for dette linjeelementet" msgid "Cost associated with return or repair for this line item" msgstr "Kostnad forbundet med retur eller reparasjon for dette linjeelementet" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5159,163 +5189,163 @@ msgstr "Kostnad forbundet med retur eller reparasjon for dette linjeelementet" msgid "Line Items" msgstr "Linjeelementer" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "Ordren kan ikke kanselleres" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "Tillat ordre å lukkes med ufullstendige linjeelementer" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "Ordren har ufullstendige linjeelementer" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "Ordren er ikke åpen" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "Innkjøpsvaluta" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "Leverandørdel må angis" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "Innkjøpsordre må angis" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "Leverandør må samsvare med innkjøpsordre" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "Innkjøpsordre må samsvare med leverandør" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "Ordrelinje" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "Linjeelementet samsvarer ikke med innkjøpsordre" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "Velg lagerplassering for mottatte enheter" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "Angi batchkode for innkommende lagervarer" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "Angi serienummer for innkommende lagervarer" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Strekkode" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "Skannet strekkode" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "Strekkode allerede i bruk" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "Heltallsverdi må angis for sporbare deler" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "Linjeelementer må være oppgitt" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "Målplassering må angis" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "Angitte strekkodeverdier må være unike" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "Valuta for salgspris" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "Ingen forsendelsesopplysninger oppgitt" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "Linjeelement er ikke knyttet til denne ordren" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "Mengden må være positiv" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "Skriv inn serienummer for å tildele" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "Forsendelsen er allerede sendt" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "Forsendelsen er ikke knyttet til denne ordren" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "Ingen treff funnet for følgende serienummer" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "Følgende serienummer er allerede tildelt" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "Returordrelinje" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "Linjeelementet samsvarer ikke med returordre" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "Linjeelementet er allerede mottatt" -#: order/serializers.py:1688 +#: order/serializers.py:1689 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:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "Valuta for linje" @@ -5741,34 +5771,34 @@ msgstr "Oppdaterte {part} enhetspris to {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Oppdaterte {part} enhetspris til {price} og antall til {qty}" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "Del-ID" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Delnavn" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "Delbeskrivelse" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "Revisjon" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Nøkkelord" @@ -5777,11 +5807,11 @@ msgstr "Nøkkelord" msgid "Part Image" msgstr "Del-bilde" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "Kategori-ID" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "Kategorinavn" @@ -5793,11 +5823,11 @@ msgstr "Standard plasserings-ID" msgid "Default Supplier ID" msgstr "Standard leverandør-ID" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variant av" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimal lagerbeholdning" @@ -5810,12 +5840,12 @@ msgstr "Brukt i" msgid "Building" msgstr "Produseres" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "Minimal kostnad" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "Maksimal kostnad" @@ -5833,8 +5863,8 @@ msgstr "Overordnet navn" msgid "Category Path" msgstr "Sti til kategori" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5857,17 +5887,17 @@ msgstr "BOM artikkel-ID" msgid "Parent IPN" msgstr "Overodnet IPN" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "Del -IPN" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Minstepris" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5949,8 +5979,8 @@ msgstr "Dette alternativet må være valgt" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5958,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "Kategori" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Standard plassering" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Total lagerbeholdning" @@ -5976,371 +6006,371 @@ msgstr "Total lagerbeholdning" msgid "Input quantity for price calculation" msgstr "Sett inn antall for prisberegning" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Delkategori" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Delkategorier" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "Standardplassering for deler i denne kategorien" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "Strukturell" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Deler kan ikke tilordnes direkte til en strukturell kategori, men kan tilordnes til underkategorier." -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "Standard nøkkelord" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "Standard nøkkelord for deler i denne kategorien" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Ikon" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "Ikon (valgfritt)" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Du kan ikke gjøre denne delkategorien strukturell fordi noen deler allerede er tilordnet den!" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "Ugyldig valg for overordnet del" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Delen '{self}' kan ikke brukes i BOM for '{parent}' (rekursiv)" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Delen '{parent}' er brukt i BOM for '{self}' (rekursiv)" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN må samsvare med regex-mønsteret {pattern}" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "Lagervare med dette serienummeret eksisterer allerede" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "Duplikat av internt delnummer er ikke tillatt i delinnstillinger" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "Del med dette Navnet, internt delnummer og Revisjon eksisterer allerede." -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "Deler kan ikke tilordnes strukturelle delkategorier!" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "Delnavn" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "Er Mal" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "Er delen en maldel?" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "Er delen en variant av en annen del?" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "Delbeskrivelse (valgfritt)" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "Del-nøkkelord for å øke synligheten i søkeresultater" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "Delkategori" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "Internt delnummer" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "Delrevisjon eller versjonsnummer" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "Hvor er denne artikkelen vanligvis lagret?" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Standard leverandør" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "Standard leverandørdel" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "Standard utløp" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "Utløpstid (i dager) for lagervarer av denne delen" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "Minimum tillatt lagernivå" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "Måleenheter for denne delen" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "Kan denne delen bygges fra andre deler?" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "Kan denne delen brukes til å bygge andre deler?" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "Har denne delen sporing av unike artikler?" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "Kan denne delen kjøpes inn fra eksterne leverandører?" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "Kan denne delen selges til kunder?" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "Er denne delen aktiv?" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "Er dette en virtuell del, som et softwareprodukt eller en lisens?" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "Kontrollsum for BOM" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "Lagret BOM-kontrollsum" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "Stykkliste sjekket av" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "Stykkliste sjekket dato" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "Opprettingsbruker" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "Eier ansvarlig for denne delen" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "Siste lagertelling" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "Selg flere" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "Valuta som brukes til å bufre prisberegninger" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "Minimal BOM-kostnad" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "Minste kostnad for komponentdeler" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "Maksimal BOM-kostnad" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "Maksimal kostnad for komponentdeler" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "Minimal innkjøpskostnad" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "Minimal historisk innkjøpskostnad" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "Maksimal innkjøpskostnad" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "Maksimal historisk innkjøpskostnad" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "Minimal intern pris" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "Minimal kostnad basert på interne prisbrudd" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "Maksimal intern pris" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "Maksimal kostnad basert på interne prisbrudd" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "Minimal leverandørpris" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "Minimumspris for del fra eksterne leverandører" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "Maksimal leverandørpris" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "Maksimalpris for del fra eksterne leverandører" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "Minimal Variantkostnad" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "Beregnet minimal kostnad for variantdeler" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "Maksimal Variantkostnad" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "Beregnet maksimal kostnad for variantdeler" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "Overstyr minstekostnad" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "Overstyr maksimal kostnad" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "Beregnet samlet minimal kostnad" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "Beregnet samlet maksimal kostnad" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "Minimal salgspris" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "Minimal salgspris basert på prisbrudd" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "Maksimal Salgspris" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "Maksimal salgspris basert på prisbrudd" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "Minimal Salgskostnad" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "Minimal historisk salgspris" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "Maksimal Salgskostnad" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "Maksimal historisk salgspris" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "Del for varetelling" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "Antall" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "Antall individuelle lagerenheter på tidspunkt for varetelling" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6352,686 +6382,686 @@ msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling" msgid "Date" msgstr "Dato" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "Dato for utført lagertelling" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "Flere notater" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "Bruker som utførte denne lagertellingen" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "Minimal lagerkostnad" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "Estimert minimal kostnad for lagerbeholdning" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "Maksimal lagerkostnad" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "Estimert maksimal kostnad for lagerbeholdning" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Rapport" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "Lagertellingsrapportfil (generert internt)" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Antall deler" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "Antall deler dekket av varetellingen" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "Bruker som forespurte varetellingsrapporten" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "Testmaler kan bare bli opprettet for sporbare deler" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "Testnavn" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "Angi et navn for testen" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "Testbeskrivelse" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "Legg inn beskrivelse for denne testen" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Aktivert" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Påkrevd" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "Er det påkrevd at denne testen bestås?" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "Krever verdi" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "Krever denne testen en verdi når det legges til et testresultat?" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "Krever vedlegg" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "Krever denne testen et filvedlegg når du legger inn et testresultat?" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "Sjekkboksparameter kan ikke ha enheter" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "Sjekkboksparameter kan ikke ha valg" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "Valg må være unike" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "Navn på parametermal må være unikt" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "Parameternavn" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "Fysisk enheter for denne parameteren" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "Parameterbeskrivelse" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "Sjekkboks" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "Er dette parameteret en sjekkboks?" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "Valg" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "Gyldige valg for denne parameteren (kommaseparert)" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "Ugyldig valg for parameterverdi" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "Overordnet del" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Parametermal" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "Parameterverdi" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Standardverdi" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "Standard Parameterverdi" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "Del-ID eller delnavn" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "Unik del-ID-verdi" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "Delens interne delnummerverdi" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "Nivå" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "BOM-nivå" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "Velg overordnet del" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "Underordnet del" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "Velg del som skal brukes i BOM" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "BOM-antall for denne BOM-artikkelen" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "Denne BOM-artikkelen er valgfri" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Denne BOM-artikkelen er forbruksvare (den spores ikke i produksjonsordrer)" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Svinn" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Forventet produksjonssvinn (absolutt eller prosent)" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "BOM-artikkelreferanse" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "BOM-artikkelnotater" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "Kontrollsum" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "BOM-linje kontrollsum" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Godkjent" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "Denne BOM-artikkelen er godkjent" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "Arves" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Denne BOM-artikkelen er arvet fra stykkliste for variantdeler" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Tillat Varianter" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Lagervarer for variantdeler kan brukes for denne BOM-artikkelen" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "Antall må være heltallsverdi for sporbare deler" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "Underordnet del må angis" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "BOM-artikkel erstatning" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "Erstatningsdel kan ikke være samme som hoveddelen" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "Overordnet BOM-artikkel" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "Erstatningsdel" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "Del 1" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "Del 2" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "Velg relatert del" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "Del-forhold kan ikke opprettes mellom en del og seg selv" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "Duplikatforhold eksisterer allerede" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Underkategorier" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "Innkjøpsvaluta for lagervaren" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "Ingen deler valgt" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "Velg kategori" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "Original Del" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "Velg original del å duplisere" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "Kopier Bilde" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "Kopier bilde fra originaldel" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Kopier Stykkliste" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "Kopier stykkliste fra original del" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "Kopier parametere" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "Kopier parameterdata fra originaldel" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "Kopier notater" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "Kopier notater fra originaldel" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:490 +#: part/serializers.py:491 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:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "Innledende lagerplassering" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "Angi initiell lagerplasering for denne delen" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "Velg leverandør (eller la stå tom for å hoppe over)" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "Velg produsent (eller la stå tom for å hoppe over)" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "Produsentens delenummer" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "Valgt firma er ikke en gyldig leverandør" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "Valgt firma er ikke en gyldig produsent" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "Produsentdel som matcher dette MPN-et, finnes allerede" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "Leverandørdel som matcher denne SKU-en, finnes allerede" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "Dupliser del" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "Kopier innledende data fra en annen del" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "Lag en del med innledende lagermengde" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "Leverandøropplysninger" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "Legg til innledende leverandørinformasjon for denne delen" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "Kopier kategoriparametre" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "Kopier parametermaler fra valgt delkategori" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "Eksisterende bilde" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "Filnavn for et eksisterende del-bilde" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "Bildefilen finnes ikke" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Begrens lagerbeholdningsrapport til en bestemt del og enhver variant av delen" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Begrens lagerbeholdningsrapport til en bestemt delkategori og alle underkategorier" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Begrens lagerbeholdningsrapport til en bestemt plasering og eventuelle underplasseringer" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "Ekskluder ekstern lagerbeholdning" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "Ekskluder lagervarer i eksterne lokasjoner" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "Generer rapport" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "Genererer rapport som inneholder beregnede lagerdata" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "Oppdater deler" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "Oppdater spesifiserte deler med beregnede lagerbeholdningsdata" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "Lagerbeholdningsfunksjonalitet er ikke aktivert" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "Overstyr beregnet verdi for minimumspris" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "Valuta for minstepris" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "Overstyr beregnet verdi for maksimal pris" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "Valuta for maksimal pris" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "Oppdater" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "Oppdater priser for denne delen" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, 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:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "Minsteprisen kan ikke være større enn maksimal pris" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "Maksimal pris kan ikke være mindre enn minstepris" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "Velg del å kopiere BOM fra" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "Fjern eksisterende data" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "Fjern eksisterende BOM-artikler før kopiering" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "Inkluder arvede" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "Inkluder BOM-artikler som er arvet fra maldeler" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "Hopp over ugyldige rader" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "Aktiver dette alternativet for å hoppe over ugyldige rader" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "Kopier erstatningsdeler" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopier erstatningsdeler når BOM-elementer dupliseres" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "Nullstill eksisterende BOM" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "Fjern eksisterende BOM-artikler før opplastning" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "Ingen del-kolonne angitt" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "Flere samsvarende deler funnet" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "Ingen samsvarende del funnet" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "Delen er ikke betegnet som en komponent" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "Antall ikke oppgitt" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "Ugyldig antall" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "Minst en BOM-artikkel kreves" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "Totalt Antall" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "Total Kostnad Min" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "Total Kostnad Max" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "Lagertellingsrapport tilgjengelig" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "En ny lagertellingsrapport er tilgjengelig for nedlasting" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "Varsel om lav lagerbeholdning" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Tilgjengelig lagerbeholdning for {part.name} har falt under det konfigurerte minimumsnivået" @@ -7257,15 +7287,15 @@ msgstr "Deleleverandører" msgid "Part Manufacturers" msgstr "Deleprodusenter" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8314,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "Ingen gyldige objekter angitt for mal" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8330,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "Malfil '{template}' mangler eller eksisterer ikke" @@ -8838,7 +8868,7 @@ msgstr "De kan ikke gjøre denne plasseringen strukturell, da noen lagervarer al msgid "Stock items cannot be located into structural stock locations!" msgstr "Lagervarer kan ikke plasseres i strukturelle plasseringer!" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "Lagervare kan ikke opprettes for virtuelle deler" @@ -8883,7 +8913,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:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "Inpakningen denne lagervaren er lagret i" @@ -8895,7 +8925,7 @@ msgstr "Er denne artikkelen montert i en annen artikkel?" msgid "Serial number for this item" msgstr "Serienummer for denne artikkelen" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "Batchkode for denne lagervaren" @@ -8972,7 +9002,7 @@ msgstr "Serienumre må være en liste over tall" msgid "Quantity does not match serial numbers" msgstr "Antallet stemmer ikke overens med serienumrene" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "Seriernummer eksisterer allerede" @@ -9004,7 +9034,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:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "Duplisert lagervare" @@ -9128,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "Serienummeret er for høyt" -#: stock/serializers.py:411 +#: stock/serializers.py:414 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:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "Innkjøpspris for denne lagervaren, per enhet eller forpakning" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "Angi antall lagervarer som skal serialiseres" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Antall kan ikke overstige tilgjengelig lagerbeholdning ({q})" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "Angi serienummer for nye artikler" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "Til Lagerplassering" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "Valgfritt notatfelt" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "Serienummer kan ikke tilordnes denne delen" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "Velg lagervare å montere" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "Antall å installere" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "Angi antallet elementer som skal installeres" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "Legg til transaksjonsnotat (valgfritt)" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "Antall å installere må være minst 1" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "Lagervaren er utilgjengelig" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "Valgt del er ikke i stykklisten" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "Antall å installere må ikke overskride tilgjengelig antall" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "Lagerplassering for den avinstallerte artikkelen" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "Velg del å konvertere lagervare til" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "Valgt del er ikke et gyldig alternativ for konvertering" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Kan ikke konvertere lagerprodukt med tildelt leverandørdel" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "Lagerplassering for returnert artikkel" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "Velg lagervarer for å endre status" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "Ingen lagervarer valgt" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Underplasseringer" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "Delen må være salgbar" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "Artikkelen er tildelt en salgsordre" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "Artikkelen er tildelt en produksjonsordre" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "Kunde å tilordne lagervarer" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "Valgt firma er ikke en kunde" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "Lagervare-tildelignsnotater" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "En liste av lagervarer må oppgis" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "Notater om lagersammenslåing" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "Tillat forskjellige leverandører" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "Tillat lagervarer med forskjellige leverandørdeler å slås sammen" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "Tillat forskjellig status" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "Tillat lagervarer med forskjellige statuskoder å slås sammen" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "Minst to lagervarer må oppgis" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "Lagervare primærnøkkel verdi" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "Lagervare statuskode" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "Lager transaksjonsnotater" @@ -9450,7 +9480,7 @@ msgstr "Testdata" msgid "Test Report" msgstr "Testrapport" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "Slett testdata" @@ -9470,11 +9500,11 @@ msgstr "Installerte lagervarer" msgid "Install Stock Item" msgstr "Installer lagervare" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "Slett alle testresultater for denne lagervaren" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10205,20 +10235,20 @@ msgstr "Innstillinger for Innkjøpsordre" msgid "Pricing Settings" msgstr "Innstillinger for prising" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "Valutakurser" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "Oppdater nå" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "Siste oppdatering" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "Aldri" @@ -10711,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "Send feilrapport" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "kopier til utklippstavle" @@ -14340,3 +14370,4 @@ msgstr "Tillatelse til å endre elementer" #: users/models.py:413 msgid "Permission to delete items" msgstr "Tillatelse til å slette elementer" + diff --git a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po index c2a5554875..0cbe997651 100644 --- a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:54\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -56,18 +56,18 @@ msgstr "Szczegóły błędu można znaleźć w panelu administracyjnym" msgid "Enter date" msgstr "Wprowadź dane" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "Załącznik" msgid "Select file to attach" msgstr "Wybierz plik do załączenia" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "Wybierz plik do załączenia" msgid "Link" msgstr "Łącze" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" @@ -440,10 +440,10 @@ msgstr "Komentarz" msgid "File comment" msgstr "Komentarz pliku" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "Duplikaty nazw nie mogą istnieć pod tym samym rodzicem" msgid "Invalid choice" msgstr "Błędny wybór" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "Nazwa" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "nadrzędny" msgid "Path" msgstr "Ścieżka" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "Notatki Markdown (opcjonalne)" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "Dane kodu kreskowego" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "Dane kodu kreskowego stron trzecich" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "Hasz kodu kreskowego" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "Unikalny hasz danych kodu kreskowego" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "Znaleziono istniejący kod kreskowy" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "Błąd serwera" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "Błąd został zapisany w logach serwera." -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Waluta" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "Wybierz walutę z dostępnych opcji" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "Nie masz uprawnień do zmiany tej roli użytkownika." -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "Tylko superużytkownicy mogą tworzyć nowych użytkowników" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "Twoje konto zostało utworzone." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "Zresetuj hasło" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "Witamy w InvenTree" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "Nazwa pliku" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "Nieprawidłowa wartość" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "Plik danych" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "Wybierz plik danych do przesłania" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "Nieobsługiwany typ pliku" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "Plik jest zbyt duży" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "Nie znaleziono kolumn w pliku" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "Nie znaleziono wierszy danych w pliku" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "Nie podano wierszy danych" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "Nie podano kolumn danych" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Brakuje wymaganej kolumny: '{name}'" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Zduplikowana kolumna: '{col}'" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "Obrazek zewnętrzny" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "Adres URL zdalnego pliku obrazu" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "Pobieranie obrazów ze zdalnego URL nie jest włączone" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "Sprawdzenie robotnika w tle nie powiodło się" @@ -750,14 +750,14 @@ msgstr "O InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Kompilacja musi zostać anulowana, zanim będzie mogła zostać usunięta" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Materiał eksploatacyjny" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "Śledzony" msgid "Allocated" msgstr "Przydzielono" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "Odwołanie do zamówienia wykonania" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "Status budowania" msgid "Build status code" msgstr "Kod statusu budowania" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Kod partii" @@ -972,8 +972,8 @@ msgstr "Kod partii" msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "Użytkownik, który wydał to zamówienie" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "Priorytet budowy" msgid "Priority of this build order" msgstr "Priorytet tego zamówienia produkcji" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "Skompilowane dane wyjściowe nie pasują do kolejności kompilacji" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" @@ -1109,10 +1109,10 @@ msgstr "Zbuduj obiekt" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "Zbuduj obiekt" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "Ilość musi wynosić 1 dla serializowanych zasobów" msgid "Selected stock item does not match BOM line" msgstr "Wybrana pozycja magazynowa nie pasuje do pozycji w zestawieniu BOM" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Numer seryjny" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "Akceptuj niekompletne" @@ -1435,11 +1435,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "Towar musi znajdować się w magazynie" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "" @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "Element BOM" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "" msgid "On Order" msgstr "W Zamówieniu" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "W produkcji" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "Załączniki" msgid "Build Notes" msgstr "Notatki tworzenia" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "" @@ -1914,6 +1914,22 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "Brak wtyczki" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "{name.title()} Plik" msgid "Select {name} file to upload" msgstr "Wybierz plik {name} do przesłania" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "Zaktualizowany" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "Data ostatniej aktualizacji" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "Unikalny kod projektu" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "Opis projektu" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter)" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "Ustawienia wartości" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "Wybrana wartość nie jest poprawną opcją" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "Wartość musi być wartością binarną" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "Wartość musi być liczbą całkowitą" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "Ciąg musi być unikatowy" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "Brak grupy" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "Pusta domena nie jest dozwolona." - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "Niepoprawna nazwa domeny: {domain}" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "Brak wtyczki" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "Wymagane ponowne uruchomienie" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "Zmieniono ustawienie, które wymaga restartu serwera" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "Oczekujące migracje" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "Liczba oczekujących migracji bazy danych" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "Nazwa instancji serwera" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "Użyj nazwy instancji" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "Nazwa firmy" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "Wewnętrzna nazwa firmy" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "Bazowy URL" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "Bazowy adres URL dla instancji serwera" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "Domyślna waluta" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "Interwał aktualizacji waluty" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Jak często aktualizować kursy wymiany walut (ustaw zero aby wyłączyć)" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "dni" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "Wtyczka aktualizacji waluty" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "Pobierz z adresu URL" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "Zezwól na pobieranie zewnętrznych obrazów i plików z zewnętrznego URL" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "Limit rozmiaru pobierania" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "Ścisła weryfikacja adresu URL" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "Wymagaj specyfikacji schematu podczas sprawdzania poprawności adresów URL" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "Wymagaj potwierdzenia" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "Wymagaj wyraźnego potwierdzenia dla określonych działań." -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "Głębokość drzewa" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Domyślna głębokość drzewa dla widoku drzewa. Głębsze poziomy mogą być leniwe, gdy są potrzebne." -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "Częstotliwość sprawdzania aktualizacji" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "Jak często aktualizować kursy wymiany walut (ustaw zero aby wyłączyć)" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "Automatyczna kopia zapasowa" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "Włącz automatyczną kopię zapasową bazy danych i plików multimedialnych" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "Interwał automatycznego tworzenia kopii zapasowych" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "Określ liczbę dni między zdarzeniami automatycznej kopii zapasowej" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "Interwał usuwania zadań" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Obsługa kodu kreskowego" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "Wyrażenie regularne IPN" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "Zezwól na powtarzający się IPN" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "Zezwól na edycję IPN" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "Skopiuj BOM komponentu" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1131 +2315,1129 @@ msgstr "" msgid "Template" msgstr "Szablon" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Złożenie" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Komponent" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "Możliwość zakupu" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "Części są domyślnie z możliwością zakupu" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Możliwość sprzedaży" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "Części są domyślnie z możliwością sprzedaży" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Możliwość śledzenia" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "Części są domyślnie z możliwością śledzenia" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Wirtualny" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "Części są domyślnie wirtualne" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "Ceny wewnętrzne" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "Włącz drukowanie etykiet" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "Włącz drukowanie etykiet z interfejsu WWW" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "DPI etykiety" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "Włącz raporty" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "Tryb Debugowania" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "Rozmiar strony" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "Domyślna wielkość strony dla raportów PDF" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "Włącz generowanie raportów testów" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1878 -#, fuzzy -#| msgid "Mark order as complete" +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" -msgstr "Oznacz zamówienie jako zakończone" +msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "Automatycznie wypełniaj zlecenia zakupu" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Automatycznie oznacz zlecenia jako zakończone po odebraniu wszystkich pozycji" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "Włącz opcję zapomnianego hasła" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "Włącz funkcję zapomnianego hasła na stronach logowania" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "Włącz rejestrację" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "Włącz samodzielną rejestrację dla użytkowników na stronach logowania" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "Włącz SSO" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "Włącz SSO na stronach logowania" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "Adres e-mail jest wymagany" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "Autouzupełnianie użytkowników SSO" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "Automatycznie wypełnij dane użytkownika z danych konta SSO" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "E-mail dwa razy" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich adres e-mail" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "Hasło dwukrotnie" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich hasło" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "Grupuj przy rejestracji" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "Wymuś MFA" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "Użytkownicy muszą używać zabezpieczeń wieloskładnikowych." -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "Sprawdź wtyczki przy starcie" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "Włącz integrację URL" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "Włącz wtyczki, aby dodać ścieżki URL" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "Włącz integrację z aplikacją" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "Włącz wtyczki, aby dodać aplikacje" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "Włącz wtyczki, aby uruchamiać zaplanowane zadania" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "Pokaż obserwowane części" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "Pokaż obserwowane części na stronie głównej" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "Pokaż obserwowane kategorie" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "Pokaż obserwowane kategorie części na stronie głównej" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "Pokaż najnowsze części" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "Pokaż najnowsze części na stronie głównej" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "Pokaż niski stan magazynowy" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "Pokaż elementy o niskim stanie na stronie głównej" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "Pokaż wymagany stan zapasów" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "Szukaj części" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "Ukryj nieaktywne części" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "Wyszukaj zlecenia zakupu" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "Wyklucz nieaktywne zlecenia zakupu" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "Pokaż ilość w formularzach" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "Stały pasek nawigacyjny" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "Format daty" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "Preferowany format wyświetlania dat" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planowanie komponentów" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3436,24 +3445,24 @@ msgstr "" msgid "Price" msgstr "Cena" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "Punkt końcowy" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3464,101 +3473,101 @@ msgstr "" msgid "Active" msgstr "Aktywny" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "Sekret" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "Współdzielony sekret dla HMAC" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "Id wiadomości" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "Unikalny identyfikator dla tej wiadomości" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "Host, od którego otrzymano tę wiadomość" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "Nagłówek" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "Nagłówek tej wiadomości" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "Zawartość" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Autor" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3568,31 +3577,39 @@ msgstr "" msgid "Image" msgstr "Obraz" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3690,6 +3707,23 @@ msgstr "" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "Pusta domena nie jest dozwolona." + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "Niepoprawna nazwa domeny: {domain}" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3920,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Część bazowa" @@ -3931,7 +3965,7 @@ msgstr "Wybierz część" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3946,7 +3980,7 @@ msgid "Select manufacturer" msgstr "Wybierz producenta" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3991,7 +4025,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4017,7 +4051,7 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4034,7 +4068,7 @@ msgstr "Dostawca" msgid "Select supplier" msgstr "Wybierz dostawcę" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "" @@ -4055,26 +4089,26 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "Uwaga" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "koszt podstawowy" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4099,7 +4133,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "wielokrotność" @@ -4119,11 +4153,11 @@ msgstr "" msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "Domyślna waluta używana dla tego dostawcy" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4196,7 +4230,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4407,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4507,7 +4541,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4557,10 +4591,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4714,7 +4748,7 @@ msgstr "" msgid "Total Price" msgstr "Cena całkowita" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4772,11 +4806,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4884,16 +4918,12 @@ msgid "shipped by" msgstr "wysłane przez" #: order/models.py:1027 -#, fuzzy -#| msgid "Build output is already completed" msgid "Order is already complete" -msgstr "Budowanie wyjścia jest już ukończone" +msgstr "" #: order/models.py:1030 -#, fuzzy -#| msgid "Order cannot be cancelled" msgid "Order is already cancelled" -msgstr "Zamówienie nie może zostać anulowane" +msgstr "" #: order/models.py:1034 msgid "Only an open order can be marked as complete" @@ -4965,7 +4995,7 @@ msgstr "Odebrane" msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5027,8 +5057,8 @@ msgstr "Sprawdzone przez" msgid "User who checked this shipment" msgstr "Użytkownik, który sprawdził tę wysyłkę" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Przesyłka" @@ -5076,7 +5106,7 @@ msgstr "" msgid "Allocation quantity cannot exceed stock quantity" msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5150,7 +5180,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5159,163 +5189,163 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "Zamówienie nie może zostać anulowane" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "Zlecenie zakupu musi być określone" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "Dostawca musi być zgodny ze zleceniem zakupu" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "Zlecenie zakupu musi być zgodne z dostawcą" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "Pozycja nie pasuje do zlecenia zakupu" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Kod kreskowy" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5741,34 +5771,34 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "ID komponentu" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Nazwa komponentu" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "Wersja" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Słowa kluczowe" @@ -5777,11 +5807,11 @@ msgstr "Słowa kluczowe" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "ID kategorii" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5793,11 +5823,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Wariant" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimalny stan magazynowy" @@ -5810,12 +5840,12 @@ msgstr "Użyte w" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5833,8 +5863,8 @@ msgstr "" msgid "Category Path" msgstr "Ścieżka kategorii" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5857,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "IPN komponentu" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5949,8 +5979,8 @@ msgstr "Ta opcja musi być zaznaczona" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5958,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "Kategoria" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Domyślna lokalizacja" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5976,371 +6006,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Kategoria komponentu" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Kategorie części" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "Domyślna lokalizacja dla komponentów w tej kategorii" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "Domyślne słowa kluczowe" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "Nieprawidłowy wybór dla części nadrzędnej" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "Nazwa komponentu" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "Czy szablon" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "Czy ta część stanowi szablon części?" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "Czy ta część jest wariantem innej części?" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "Domyślne wygasanie" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "Czy ten komponent może być zbudowany z innych komponentów?" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "Czy ta część może być użyta do budowy innych części?" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "Czy ta część wymaga śledzenia każdego towaru z osobna?" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "Czy ta część jest aktywna?" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "Czy to wirtualna część, taka jak oprogramowanie lub licencja?" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "Tworzenie użytkownika" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "Ostatnia inwentaryzacja" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "Sprzedaj wiele" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6352,686 +6382,686 @@ msgstr "" msgid "Date" msgstr "Data" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "Nazwa testu" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "Testowy opis" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "Wprowadź opis do tego testu" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Aktywne" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Wymagane" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "Wymaga wartości" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "Wymaga załącznika" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "Część nadrzędna" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "Dane" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "Wartość parametru" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Wartość domyślna" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "Unikalny wartość ID komponentu" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "Wartość IPN części" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "Poziom" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "Wybierz część nadrzędną" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "Podczęść" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "Ten element BOM jest opcjonalny" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "Notatki pozycji BOM" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "Suma kontrolna" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Zatwierdzone" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Zezwalaj na warianty" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "Część zastępcza" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "Część 1" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "Część 2" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "Wybierz powiązaną część" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Podkategorie" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "Waluta zakupu tego towaru" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "Kopiuj obraz" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Kopiuj BOM" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "Kopiuj parametry" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "Duplikuj część" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "Usuń istniejące dane" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "Pomiń nieprawidłowe wiersze" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "Włącz tę opcję, aby pominąć nieprawidłowe wiersze" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "Wyczyść istniejący BOM" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "Nie podano ilości" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "Nieprawidłowa ilość" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -7257,15 +7287,15 @@ msgstr "Dostawcy Części" msgid "Part Manufacturers" msgstr "Producenci części" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8314,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "Brak prawidłowych obiektów do szablonu" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8330,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "Plik szablonu '{template}' jest brakujący lub nie istnieje" @@ -8838,7 +8868,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8883,7 +8913,7 @@ msgstr "Wybierz pasującą część dostawcy dla tego towaru" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" @@ -8895,7 +8925,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" @@ -8972,7 +9002,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "Numer seryjny już istnieje" @@ -9004,7 +9034,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9128,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Podlokalizacje" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "Część musi być dostępna do sprzedaży" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "" @@ -9450,7 +9480,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "" @@ -9470,11 +9500,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10205,20 +10235,20 @@ msgstr "Ustawienia zlecenia zakupu" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "Kurs wymiany" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "Aktualizuj teraz" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "Ostatnia Aktualizacja" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "Nigdy" @@ -10711,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "Prześlij raport o błędzie" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "skopiuj do schowka" @@ -14340,3 +14370,4 @@ msgstr "Uprawnienie do edycji przedmiotów" #: users/models.py:413 msgid "Permission to delete items" msgstr "Uprawnienie do usuwania przedmiotów" + diff --git a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po index 8463a77b8b..dc837cef86 100644 --- a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:55\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -56,18 +56,18 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "" @@ -440,10 +440,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "" msgid "Path" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "" @@ -750,14 +750,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "" msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -972,8 +972,8 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1109,10 +1109,10 @@ msgstr "" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "" @@ -1435,11 +1435,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "" @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "" @@ -1914,6 +1914,22 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "" - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1129 +2315,1129 @@ msgstr "" msgid "Template" msgstr "" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1878 +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3434,24 +3445,24 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3462,101 +3473,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3566,31 +3577,39 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3688,6 +3707,23 @@ msgstr "" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "" + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3918,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -3929,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,7 +3980,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3989,7 +4025,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4015,7 +4051,7 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4032,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "" @@ -4053,26 +4089,26 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4097,7 +4133,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "" @@ -4117,11 +4153,11 @@ msgstr "" msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4194,7 +4230,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4405,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4505,7 +4541,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4555,10 +4591,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4712,7 +4748,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4770,11 +4806,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +4995,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5021,8 +5057,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" @@ -5070,7 +5106,7 @@ msgstr "" msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5144,7 +5180,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5153,163 +5189,163 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5735,34 +5771,34 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5771,11 +5807,11 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5787,11 +5823,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5804,12 +5840,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5827,8 +5863,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5943,8 +5979,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5952,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5970,371 +6006,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6346,686 +6382,686 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -7251,15 +7287,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8308,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8324,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -8832,7 +8868,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8877,7 +8913,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" @@ -8889,7 +8925,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" @@ -8966,7 +9002,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" @@ -8998,7 +9034,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9122,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "" @@ -9444,7 +9480,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "" @@ -9464,11 +9500,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10199,20 +10235,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "" @@ -10705,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "" @@ -14334,3 +14370,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po index 0fa826eaff..5bc1c0205b 100644 --- a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:54\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -56,18 +56,18 @@ msgstr "Подробности об ошибке можно найти в пан msgid "Enter date" msgstr "Введите дату" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "Вложения" msgid "Select file to attach" msgstr "Выберите файл для вложения" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "Выберите файл для вложения" msgid "Link" msgstr "Ссылка" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "Ссылка на внешний URL" @@ -440,10 +440,10 @@ msgstr "Комментарий" msgid "File comment" msgstr "Комментарий к файлу" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "Повторяющиеся имена не могут существов msgid "Invalid choice" msgstr "Неверный выбор" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "Название" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "родитель" msgid "Path" msgstr "Путь" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "Записи о скидке (необязательно)" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "Данные штрих-кода" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "Данные стороннего штрих-кода" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "Хэш штрих-кода" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "Уникальный хэш данных штрих-кода" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "Обнаружен существующий штрих-код" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "Ошибка сервера" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "Сервер зарегистрировал ошибку." -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "Должно быть действительным номером" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Валюта" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "Выберите валюту из доступных вариантов" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "У вас недостаточно прав для изменения роли этого пользователя." -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "Только суперпользователи могут создавать новых пользователей" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "Ваша учётная запись была успешно создана." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "Пожалуйста, используйте функцию сброса пароля для входа" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "Добро пожаловать в InvenTree" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "Имя файла" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "Неверное значение" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "Файл данных" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "Выберите файл данных для загрузки" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "Неподдерживаемый тип файла" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "Файл слишком большой" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "Столбцы в файле не найдены" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "Строки данных в файле не найдены" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "Строки данных в файле не найдены" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "Столбцы данных не предоставлены" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Отсутствует обязательный столбец: '{name}'" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Повторяющийся столбец: '{col}'" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "Удаленное изображение" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "ССЫЛКА файла изображения на удаленном сервере" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "Загрузка изображений с удаленного URL-адреса не включена" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "Проверка фонового работника не удалась" @@ -750,14 +750,14 @@ msgstr "О программе InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Заказ на производство должен быть отменен перед удалением" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Расходники" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "Отслеживается" msgid "Allocated" msgstr "Зарезервировано" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "Ссылка на заказ на производство" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "Заказ на производство, которому принад #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "Заказ на производство, которому принад #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "Статус заказа на производство" msgid "Build status code" msgstr "Код статуса заказа на производство" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Код партии" @@ -972,8 +972,8 @@ msgstr "Код партии" msgid "Batch code for this build output" msgstr "Код партии для продукции" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "Пользователь, создавший этот заказ на производство" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "Приоритет производства" msgid "Priority of this build order" msgstr "Приоритет этого заказа на производство" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "Продукция не совпадает с заказом на производство" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" @@ -1109,10 +1109,10 @@ msgstr "Объект производства" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "Объект производства" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "Количество должно быть 1 для сериализов msgid "Selected stock item does not match BOM line" msgstr "Выбранная складская позиция не соответствует позиции в BOM" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "Для отслеживаемых деталей должно быть msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Требуется целое количество, так как материал содержит отслеживаемые детали" -#: build/serializers.py:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Серийные номера" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "Введите серийные номера для продукции" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "Место хранения для завершенной продукц #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "Подтвердите, что складские позиции не б msgid "Required stock has not been fully allocated" msgstr "Необходимые запасы не были полностью зарезервированы" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "Разрешить незавершенные производимые детали" @@ -1435,11 +1435,11 @@ msgstr "Позиция для производства" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part должна указывать на ту же часть, что и заказ на производство" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "Элемент должен быть в наличии" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Превышено доступное количество ({q})" @@ -1452,7 +1452,7 @@ msgstr "Продукция должна быть указан для резер msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Продукция не может быть указана для резервирования не отслеживаемых частей" -#: build/serializers.py:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "Необходимо указать резервируемые элементы" @@ -1496,7 +1496,7 @@ msgstr "Зарезервировать необязательные позици msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "Позиция BOM" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "Зарезервированные Запасы" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "Зарезервированные Запасы" msgid "On Order" msgstr "В заказе" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "В производстве" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "Файлы" msgid "Build Notes" msgstr "Записи производства" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "Резервирование Завершено" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "Все позиции были полностью зарезервированы" @@ -1914,6 +1914,22 @@ msgstr "Подробности Заказа на Производство" msgid "Incomplete Outputs" msgstr "Незавершенная продукция" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "Нет плагина" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "Файл {name.title()}" msgid "Select {name} file to upload" msgstr "Выберите {name} файл для загрузки" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "Обновлено" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "Временная метка последнего обновления" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "URL сайта заблокирован настройками" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "Уникальный код проекта" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "Описание проекта" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "Пользователь или группа, ответственные за этот проект" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "Ключ настроек (должен быть уникальным - не чувствителен к регистрам)" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "Значения настроек" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "Выбранное значение не является допустимым" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "Значение должно быть булевым" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "Значение должно быть целым числом" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "Строка ключа должна быть уникальной" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "Нет группы" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "Пустой домен не допускается." - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "Недопустимое доменное имя: {domain}" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "Нет плагина" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "Требуется перезапуск" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "Настройки были изменены, что требует перезапуска сервера" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "Ожидаемые миграции" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "Количество ожидаемых миграций базы данных" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "Название сервера" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "Текстовое описание сервера" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "Название инстанса" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "Имя сервера в заголовке" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "Ограничить отображение `О...`" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "Показать `О...` только суперпользователям" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "Название компании" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "Внутреннее название компании" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "Базовая ссылка" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "Базовая ссылка для экземпляра сервера" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "Валюта по умолчанию" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "Выберите базовую валюту для расчета цены" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "Интервал обновления курса валют" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Как часто обновлять курс валют (установите \"ноль\", чтобы выключить)" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "дней" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "Плагин обновления валют" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "Модуль обновления валюты" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "Скачать по ссылке" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "Разрешить загрузку удаленных изображений и файлов по внешнему URL" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "Ограничение размера загрузки" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "Максимально допустимый размер загрузки для удалённого изображения" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "User-Agent, используемый для загрузки из URL" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Позволяет переопределить user-Agent, используемый для загрузки изображений и файлов с внешнего URL (оставьте пустым по умолчанию)" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "Строгая проверка URL-адреса" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "Требуется спецификация схемы при проверке URL-адресов" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "Требуется подтверждение" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "Требовать явное подтверждение пользователя для определенного действия." -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "Глубина дерева" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Глубина дерева по умолчанию для просмотра дерева. Глубокие уровни загружены по мере необходимости." -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "Интервал проверки обновлений" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "Как часто проверять наличие обновлений (установите ноль чтобы выключить)" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "Автоматическое резервное копирование" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "Включить автоматическое резервное копирование базы данных и медиа-файлов" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "Интервал резервного копирования" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "Укажите количество дней между событиями автоматического резервного копирования" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "Интервал удаления задачи" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "Результаты фоновых задач будут удалены после указанного количества дней" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "Интервал удаления журнала ошибок" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "Журналы ошибок будут удалены после указанного количества дней" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "Интервал удаления уведомления" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "Уведомления пользователя будут удалены после указанного количества дней" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Поддержка штрих-кодов" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "Включить поддержку сканера штрих-кодов в веб-интерфейсе" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "Задержка сканирования штрих-кода" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "Время задержки обработки штрих-кода" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "Поддержка веб-камер штрих-кодов" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "Разрешить сканирование штрих-кода через веб-камеру в браузере" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "Ревизия детали" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "Включить поле ревизии для элемента" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "Шаблон регулярного выражения для сопоставления IPN детали" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "Разрешить повторяющиеся IPN" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "Разрешить нескольким элементам использовать один и тот же IPN" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "Разрешить редактирование IPN" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "Разрешить изменение значения IPN при редактировании детали" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "Скопировать данные BOM детали" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "Копировать данные BOM по умолчанию при дублировании детали" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "Скопировать данные параметров детали" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "Копировать данных параметров по умолчанию при дублировании детали" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "Скопировать данные тестирования детали" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "Копировать данные тестирования по умолчанию при дублировании детали" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "Скопировать параметры по шаблону категории" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "Копировать параметры по шаблону категории при создании детали" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1131 +2315,1129 @@ msgstr "Копировать параметры по шаблону катего msgid "Template" msgstr "Шаблон" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "По умолчанию детали являются шаблонами" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Производимая деталь" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "По умолчанию детали могут быть собраны из других компонентов" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Компонент" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "По умолчанию детали могут использоваться в качестве суб-компонентов" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "Можно купить" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Можно продавать" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "Детали продаются по умолчанию" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Отслеживание" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Виртуальная" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "Детали являются виртуальными по умолчанию" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "Показать Импорт в просмотре" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "Показывать связанные детали" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "Отображать связанные детали для элемента" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "Начальные данные о запасах" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Исходные данные о поставщике" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "Формат отображения детали" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "Формат для отображения имени детали" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "Значок раздела по умолчанию" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "Значок категории по умолчанию (пустой означает отсутствие значка)" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "Если введены единицы, значения параметра должны соответствовать указанным единицам измерения" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "Минимальные Цены Десятичные Значки" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Минимальное количество десятичных знаков при отображении данных о ценах" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "Макс. Цены десятичные знаки" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Минимальное количество десятичных знаков при отображении данных о ценах" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "Использовать цены поставщика" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Включить разницу цен поставщиков при расчетах цен" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "Изменить историю покупки" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "Использовать цены из складских позиций" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Использовать расценки из ручного ввода данных о запасах для расчета цен" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "Возраст цен складских позиций" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Исключить складские позиции старше указанного количества дней с расчёта цен" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "Использовать варианты цен" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "Включить разницу цен поставщиков при расчетах цен" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "Только Активные Варианты" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "Использовать только активные запчасти для расчета стоимости варианта" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "Интервал пересчета цен" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "Количество дней до автоматического обновления цены" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "Внутренние цены" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "Разрешить внутренние цены для частей" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "Переопределение внутренней цены" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "При наличии внутренних цен переопределить ценовой диапазон" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "Включить печать этикеток" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "Включить печать этикеток из веб-интерфейса" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "Изображение меток DPI" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Разрешение DPI при создании файлов изображений для печати этикеток плагинов" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "Включить отчеты" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "Включить генерацию отчетов" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "Режим отладки" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "Генерировать отчеты в режиме отладки (вывод HTML)" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "Журнал ошибок отчета" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "Журнал ошибок, которые возникают при создании отчетов" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "Размер страницы" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "Размер страницы по умолчанию для PDF отчетов" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "Включить отчеты" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "Включить генерацию отчетов" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "Прикрепить отчеты о тестах" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "При печати отчета о тестировании приложить копию тестового отчета к соответствующему складской позиции" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "Серийные номера для складских позиций должны быть уникальными глобально" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "Шаблон для создания кодов партии по умолчанию для складских позиций" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "Срок годности Запасов" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "Время Залежалости Запасов" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "Количество дней перед тем как складская единица будет считаться просроченной" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "Использовать просроченные остатки в производстве" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "Разрешить использовать просроченные остатки в производстве" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "Показать установленные складские позиции" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "Отображать установленные складские позиции в складских таблицах" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "Паттерн ссылки заказа на производство" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "Поле требуемого паттерна для создания ссылки заказа на производство" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "Включить заказы на возврат" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1878 -#, fuzzy -#| msgid "A build order has been completed" +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" -msgstr "Заказ на производство был завершен" +msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "Редактировать завершенные заказы на покупку" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "Включить SSO" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "Необходимо указать EMail" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "Написать дважды" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "Пароль дважды" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "Разрешенные домены" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "Принудительное MFA" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "Пользователи должны использовать многофакторную безопасность." -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "Проверять плагины при запуске" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Исключить складские позиции во внешних местах хранения из инвентаризации" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "Показывать детали, на которые включены уведомления" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "Показывать детали, на которые включены уведомления, на главной странице" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "Показывать категории, на которые включены уведомления" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "Показывать категории, на которые включены уведомления, на главной странице" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "Показывать последние детали" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "Показывать последние детали на главной странице" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "Показывать BOMы, ожидающие проверки, на главной странице" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "Показывать изменившиеся складские запасы" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "Показывать складские позиции с недавно изменившимися запасами на главной странице" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "Показывать низкие складские запасы" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "Показывать складские позиции с низкими запасами на главной странице" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "Показывать закончившиеся складские позиции" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "Показывать закончившиеся складские позиции на главной странице" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "Показывать требуемые складские позиции" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "Показывать требуемые для производства складские позиции на главной странице" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "Показывать складские позиции с истекшим сроком годности" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "Показывать складские позиции с истёкшим сроком годности на главной странице" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "Показывать залежалые складские позиции" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "Показывать складские позиции с истекающим сроком годности на главной странице" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "Показывать незавершённые производства" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "Показывать незавершённые производства на главной странице" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "Показывать просроченные производства" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "Показывать просроченные производства на главной странице" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "Показать просроченные заказы на производство" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "Показать просроченные заказы на продажу" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "Показывать новости" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "Поиск Деталей" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "Поиск Запасов" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "Отображать складские позиции в окне предварительного просмотра поиска" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "Скрыть недоступные складские позиции" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "Исключить недоступные складские позиции из окна предварительного просмотра поиска" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "Поиск мест хранения" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "Поиск компаний" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "Поиск заказов на производство" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "Отображать заказы на производство в окне предварительного просмотра поиска" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "Поиск заказов на продажу" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "Поиск заказов на возврат" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "Поиск по Regex" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "Фиксированная панель навигации" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "Формат даты" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Планирование деталей" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Инвентаризация детали" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "Шаблон складской позиции по умолчанию" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "Шаблон метки складской позиции для автоматического выбора" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3436,24 +3445,24 @@ msgstr "" msgid "Price" msgstr "Цена" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "Конечная точка" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3464,101 +3473,101 @@ msgstr "" msgid "Active" msgstr "Активный" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "Токен" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "Токен для доступа" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "Секрет" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "ID Сообщения" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "Хост" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "Заголовок" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "Тело" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "Работал над" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "Код" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Заголовок" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "Опубликовано" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Автор" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "Итого" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "Читать" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3568,31 +3577,39 @@ msgstr "" msgid "Image" msgstr "Изображение" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "Файл изображения" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "Название единицы" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Символ" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Определение" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3690,6 +3707,23 @@ msgstr "" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "Пустой домен не допускается." + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "Недопустимое доменное имя: {domain}" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3920,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Базовая деталь" @@ -3931,7 +3965,7 @@ msgstr "Выберите деталь" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3946,7 +3980,7 @@ msgid "Select manufacturer" msgstr "Выберите производителя" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3991,7 +4025,7 @@ msgid "Parameter value" msgstr "Значение параметра" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4017,7 +4051,7 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4034,7 +4068,7 @@ msgstr "Поставщик" msgid "Select supplier" msgstr "Выберите поставщика" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "Код поставщика" @@ -4055,26 +4089,26 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "Запись" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "базовая стоимость" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4099,7 +4133,7 @@ msgstr "Кол-во в упаковке" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "множественные" @@ -4119,11 +4153,11 @@ msgstr "" msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "Валюта по умолчанию для этого поставщика" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4196,7 +4230,7 @@ msgstr "Удалить изображение" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4407,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4507,7 +4541,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4557,10 +4591,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4714,7 +4748,7 @@ msgstr "" msgid "Total Price" msgstr "Общая стоимость" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4772,11 +4806,11 @@ msgstr "Заказ на возврат" msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "Валюта Заказа" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4884,10 +4918,8 @@ msgid "shipped by" msgstr "Отправлено" #: order/models.py:1027 -#, fuzzy -#| msgid "Build output is already completed" msgid "Order is already complete" -msgstr "Продукция уже произведена" +msgstr "" #: order/models.py:1030 msgid "Order is already cancelled" @@ -4963,7 +4995,7 @@ msgstr "Получено" msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5025,8 +5057,8 @@ msgstr "Проверн" msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Отправление" @@ -5074,7 +5106,7 @@ msgstr "" msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "Количество должно быть 1 для сериализированных складских позиций" @@ -5148,7 +5180,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5157,163 +5189,163 @@ msgstr "" msgid "Line Items" msgstr "Позиции" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "Заказ не открыт" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "Валюта цены закупки" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "Позиция" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "Выберите место назначения для полученных элементов" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "Введите код партии для поступающих складских позиций" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "Введите серийные номера для входящих складских позиций" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Штрих-код" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "Сканированный штрих-код" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "Для отслеживаемых деталей должно быть указано целочисленное количество" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "Валюта цены продажи" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "Введите серийные номера для резервирования" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5739,34 +5771,34 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "Код детали" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Наименование детали" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "Описание детали" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "Ревизия" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Ключевые слова" @@ -5775,11 +5807,11 @@ msgstr "Ключевые слова" msgid "Part Image" msgstr "Изображение Детали" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "Код категории" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "Название категории" @@ -5791,11 +5823,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Разновидность" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Минимальный запас" @@ -5808,12 +5840,12 @@ msgstr "Используется в" msgid "Building" msgstr "Производится" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "Минимальная Стоимость" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "Максимальная Стоимость" @@ -5831,8 +5863,8 @@ msgstr "Имя родителя" msgid "Category Path" msgstr "Путь к категории" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5855,17 +5887,17 @@ msgstr "ID Элемента BOM" msgid "Parent IPN" msgstr "Родительский IPN" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "IPN детали" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Минимальная цена" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5947,8 +5979,8 @@ msgstr "Необходимо выбрать эту опцию" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5956,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "Категория" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Место хранения по умолчанию" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Общий запас" @@ -5974,371 +6006,371 @@ msgstr "Общий запас" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Категория детали" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Категория детали" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "Место хранения по умолчанию для деталей этой категории" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "Структура" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Детали не могут быть непосредственно отнесены к структурной категории, но могут быть отнесены к дочерним категориям." -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "Ключевые слова по умолчанию" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "Ключевые слова по умолчанию для деталей этой категории" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Иконка" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "Иконка (необязательно)" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "Складская позиция с этим серийным номером уже существует" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "Наименование детали" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "Шаблон" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "Эта деталь является шаблоном?" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "Эта деталь является разновидностью другой детали?" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "Описание детали (необязательно)" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "Ключевые слова для улучшения видимости в результатах поиска" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "Категория" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "Внутренний код детали" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "Ревизия или серийный номер детали" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "Где обычно хранится эта деталь?" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Поставщик по умолчанию" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "Срок действия по умолчанию" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "Срок годности (в днях) для складских позиций этой детали" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "Минимально допустимый складской запас" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "Единицы измерения этой детали" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "Может ли эта деталь быть создана из других деталей?" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "Может ли эта деталь использоваться для создания других деталей?" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "Является ли каждый экземпляр этой детали уникальным, обладающим серийным номером?" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "Может ли эта деталь быть закуплена у внешних поставщиков?" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "Может ли эта деталь быть продана покупателям?" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "Эта деталь активна?" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "Эта деталь виртуальная, как программный продукт или лицензия?" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "Контрольная сумма BOM" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "BOM проверил" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "Дата проверки BOM" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "Создатель" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "Последняя инвентаризация" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "Продать несколько" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "Минимальная Стоимость BOM" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "Максимальная Стоимость BOM" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "Количество Элементов" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6350,686 +6382,686 @@ msgstr "" msgid "Date" msgstr "Дата" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "Дополнительные Записи" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Отчет" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Количество Деталей" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "Шаблоны тестирования могут быть созданы только для отслеживаемых деталей" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "Название теста" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "Введите имя для теста" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "Описание теста" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "Введите описание для этого теста" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Включено" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Требуется" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "Требуется значение" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "Название параметра" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "Чекбокс" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "Варианты" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "Родительская деталь" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Шаблон параметра" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "Данные" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "Значение Параметра" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Значение по умолчанию" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "Код или наименование детали" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "Значение IPN" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "Уровень" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "Уровень BOM" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "Выберите родительскую деталь" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "Суб-деталь" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "Выбрать деталь для использования в BOM" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Эта позиция - расходник. (она не отслеживается в заказах на производство)" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Перерасход" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Расчетное количество перерасходов производства (абсолютное или процентное)" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "Записи о позиции BOM" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "Контрольная сумма" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Проверен" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Разрешить разновидности" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Складские позиции для разновидностей деталей могут быть использованы для этой позиции BOM" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "Для отслеживаемых деталей количество должно быть целым числом" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "Позиция BOM-родителя" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "Замена детали" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "Часть 1" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "Часть 2" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "Выберите связанную часть" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Подкатегории" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "Валюта закупки складской позиции" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "Не выбрана ни одна деталь" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "Выберите категорию" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "Оригинальная деталь" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "Копировать Изображение" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Скопировать BOM" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "Скопировать параметры" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "Копировать Записи" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "Скопировать записи из оригинальной детали" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "Код производителя" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "Дублировать деталь" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Начальный запас" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "Копировать параметры категории" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "Копировать шаблоны параметров из выбранной категории деталей" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "Существующее изображение" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "Исключить складские позиции в внешних местах хранения" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "Создать отчет" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "Обновить детали" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "Обновить" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "Подходящая деталь не найдена" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "Некорректное количество" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "Общее количество" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "Общая стоимость Мин" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "Общая стоимость Макс" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -7255,15 +7287,15 @@ msgstr "Поставщики" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "Связанная деталь" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "Добавить связанную деталь" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8312,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8328,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "Элементы" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -8836,7 +8868,7 @@ msgstr "Вы не можете сделать это место хранение msgid "Stock items cannot be located into structural stock locations!" msgstr "Складские позиции не могут находиться в структурных местах хранения!" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "Складская позиция не может быть создана для виртуальных деталей" @@ -8881,7 +8913,7 @@ msgstr "Выберите соответствующего поставщика msgid "Where is this stock item located?" msgstr "Где находиться эта складская позиция?" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "Упаковка этой складской позиции хранится в" @@ -8893,7 +8925,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "Код партии для этой складской позиции" @@ -8970,7 +9002,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "Серийные номера уже существуют" @@ -9002,7 +9034,7 @@ msgstr "Складская позиция в производстве" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9126,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "Закупочная цена для этой складской позиции, за единицу или за упаковку" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "Введите количество складских позиций для сериализации" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "Введите серийные номера для новых элементов" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "Опциональное поле записей" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "Выберите складскую позицию для установки" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "Добавить запись к транзакции (необязательно)" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "Складская позиция недоступна" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "Выбранная деталь отсутствует в спецификации" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "Выберите деталь в которую будет преобразована складская позиция" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Невозможно преобразовать складскую позицию с назначенной деталью поставщика" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "Выберите складские позиции для изменения статуса" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "Не выбрано ни одной складской позиции" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Места хранения" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "Элемент зарезервирован для заказа на производство" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "Покупатель для назначения складских позиций" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "Выбранная компания не является покупателем" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "Записи о назначенных запасах" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "Необходимо предоставить список складских позиций" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "Записи о слияниях запасов" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "Разрешить слияние складских позиций с различными поставщиками" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "Разрешить слияние складских позиций с различными статусами" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "Необходимо предоставить как минимум 2 складские позиции" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "Статус складской позиции" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "Записи о перемещениях запасов" @@ -9448,7 +9480,7 @@ msgstr "Данные тестов" msgid "Test Report" msgstr "Отчет тестирования" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "Удалить данные тестирования" @@ -9468,11 +9500,11 @@ msgstr "Установленные складские позиции" msgid "Install Stock Item" msgstr "Установить складскую позицию" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "Удалить все результаты тестирования для этой складской позиции" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "Добавить Результат Тестирования" @@ -10203,20 +10235,20 @@ msgstr "Настройки заказа на закупку" msgid "Pricing Settings" msgstr "Настройки ценообразования" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "Курсы Валют" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "Обновить Сейчас" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "Последнее обновление" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "Никогда" @@ -10709,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "" @@ -14338,3 +14370,4 @@ msgstr "Разрешение на редактирование элементо #: users/models.py:413 msgid "Permission to delete items" msgstr "Разрешение на удаление элементов" + diff --git a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po index 3877177274..62c65f3573 100644 --- a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:54\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Language: sk_SK\n" @@ -56,18 +56,18 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "" @@ -440,10 +440,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "" msgid "Path" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "" @@ -750,14 +750,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "" msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -972,8 +972,8 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1109,10 +1109,10 @@ msgstr "" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "" @@ -1435,11 +1435,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "" @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "" @@ -1914,6 +1914,22 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "" - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1129 +2315,1129 @@ msgstr "" msgid "Template" msgstr "" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1878 +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3434,24 +3445,24 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3462,101 +3473,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3566,31 +3577,39 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3688,6 +3707,23 @@ msgstr "" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "" + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3918,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -3929,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,7 +3980,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3989,7 +4025,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4015,7 +4051,7 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4032,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "" @@ -4053,26 +4089,26 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4097,7 +4133,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "" @@ -4117,11 +4153,11 @@ msgstr "" msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4194,7 +4230,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4405,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4505,7 +4541,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4555,10 +4591,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4712,7 +4748,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4770,11 +4806,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +4995,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5021,8 +5057,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" @@ -5070,7 +5106,7 @@ msgstr "" msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5144,7 +5180,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5153,163 +5189,163 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5735,34 +5771,34 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5771,11 +5807,11 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5787,11 +5823,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5804,12 +5840,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5827,8 +5863,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5943,8 +5979,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5952,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5970,371 +6006,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6346,686 +6382,686 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -7251,15 +7287,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8308,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8324,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -8832,7 +8868,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8877,7 +8913,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" @@ -8889,7 +8925,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" @@ -8966,7 +9002,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" @@ -8998,7 +9034,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9122,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "" @@ -9444,7 +9480,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "" @@ -9464,11 +9500,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10199,20 +10235,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "" @@ -10705,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "" @@ -14334,3 +14370,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po index 0c4680395b..20c8d5a0c8 100644 --- a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:54\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -56,18 +56,18 @@ msgstr "Podrobnosti napake so vidne v pogledu administratorja" msgid "Enter date" msgstr "Vnesi datum" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "Priloga" msgid "Select file to attach" msgstr "Izberite prilogo" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "Izberite prilogo" msgid "Link" msgstr "Povezava" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "Zunanja povezava" @@ -440,10 +440,10 @@ msgstr "Komentar" msgid "File comment" msgstr "Komentar datoteke" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "Podvojena imena ne morejo obstajati pod istim nadrejenim elementom" msgid "Invalid choice" msgstr "Nedovoljena izbira" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "Ime" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "nadrejen" msgid "Path" msgstr "Pot" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "Markdown opombe (neobvezno)" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "Podatki čtrne kode" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "Podatki črtne kode tretje osebe" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "Oznaka črtne kode" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "Enolična oznaka podatkov črtne kode" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "Črtna koda že obstaja" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "Napaka strežnika" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "Zaznana napaka na strežniku." -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "Mora biti veljavna številka" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "Izberite valuto med razpoložljivimi možnostmi" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "Nimate dovoljenja za spreminjanje vloge tega uporabnika." -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "Samo superuporabniki lahko ustvarijo nove uporabnike" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "Vaš račun je bil ustvarjen." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "Za prijavo uporabite funkcijo ponastavitve gesla" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "Dobrodošli v InvenTree" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "Ime datoteke" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "Neveljavna vrednost" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "Podatki datoteke" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "Izberite datoteke za naložiti" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "Nepodprta vrsta datotek" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "Datoteka je prevelika" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "V datoteki ni bilo najdenih stolpcev" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "V datoteki ni bilo njadenih vrstic" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "Niso bile podane vrste s podatki" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "Niso bili podani stolpci s podatki" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Manjka obvezni stolpec: '{name}'" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dvojni stolpec: '{col}'" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "Oddaljena slika" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "Povezava do oddaljene slike" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "Prenos slik iz oddaljene povezave ni omogočen" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "Nadzor dela v ozadju neuspel" @@ -750,14 +750,14 @@ msgstr "O InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "" msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "Referenca naloga izgradnje" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "Status izgradnje" msgid "Build status code" msgstr "Koda statusa izgradnje" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Številka serije" @@ -972,8 +972,8 @@ msgstr "Številka serije" msgid "Batch code for this build output" msgstr "Številka serije za to izgradnjo" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "Uporabnik, ki je izdal nalog za izgradnjo" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "Izgradnja se ne ujema s nalogom izdelave" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1109,10 +1109,10 @@ msgstr "" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "Količina za zalogo s serijsko številko mora biti 1" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "" @@ -1435,11 +1435,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "" @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "" @@ -1914,6 +1914,22 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "" - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1131 +2315,1129 @@ msgstr "" msgid "Template" msgstr "" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1878 -#, fuzzy -#| msgid "A build order has been completed" +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" -msgstr "Nalog izgradnej dokončan" +msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3436,24 +3445,24 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3464,101 +3473,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3568,31 +3577,39 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3690,6 +3707,23 @@ msgstr "" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "" + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3920,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -3931,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3946,7 +3980,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3991,7 +4025,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4017,7 +4051,7 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4034,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "" @@ -4055,26 +4089,26 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4099,7 +4133,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "" @@ -4119,11 +4153,11 @@ msgstr "" msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4196,7 +4230,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4407,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4507,7 +4541,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4557,10 +4591,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4714,7 +4748,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4772,11 +4806,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4884,10 +4918,8 @@ msgid "shipped by" msgstr "" #: order/models.py:1027 -#, fuzzy -#| msgid "Build output is already completed" msgid "Order is already complete" -msgstr "Igradnja je že dokončana" +msgstr "" #: order/models.py:1030 msgid "Order is already cancelled" @@ -4963,7 +4995,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5025,8 +5057,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" @@ -5074,7 +5106,7 @@ msgstr "" msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5148,7 +5180,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5157,163 +5189,163 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5739,34 +5771,34 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5775,11 +5807,11 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5791,11 +5823,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5808,12 +5840,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5831,8 +5863,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5855,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5947,8 +5979,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5956,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5974,371 +6006,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6350,686 +6382,686 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -7255,15 +7287,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8312,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8328,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -8836,7 +8868,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8881,7 +8913,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" @@ -8893,7 +8925,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" @@ -8970,7 +9002,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" @@ -9002,7 +9034,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9126,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "" @@ -9448,7 +9480,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "" @@ -9468,11 +9500,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10203,20 +10235,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "" @@ -10709,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "" @@ -14338,3 +14370,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po index 2e4c8f2035..ba2d8a5b96 100644 --- a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:55\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Serbian (Latin)\n" "Language: sr_CS\n" @@ -56,18 +56,18 @@ msgstr "Detalji o grešci se mogu naći u admin sekciji" msgid "Enter date" msgstr "Unesite datum" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "Prilog" msgid "Select file to attach" msgstr "Izaberite datoteku za prilog" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "Izaberite datoteku za prilog" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "Link za eksterni URL" @@ -440,10 +440,10 @@ msgstr "Komentar" msgid "File comment" msgstr "Datoteka komentara" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "Dvostruka imena ne mogu postojati pod istom nadredjenom grupom" msgid "Invalid choice" msgstr "Nevažeći izvor" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "Ime" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "nadređeni" msgid "Path" msgstr "Putanja" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "Zabeleške (Opciono)" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "Podaci sa barkoda" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "Podaci sa barkoda trećih lica" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "Heš barkoda" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "Jedinstveni hash barkoda" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "Postojeći barkod pronađen" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "Greška servera" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "Server je zabležio grešku." -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "Mora biti važeći broj" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "Odaberite valutu među dostupnim opcijama" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "Nemate dozvolu za promenu ove korisničke uloge." -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "Samo superkorisnici mogu kreirati nove korisnike" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "Ime datoteke" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "Nevažeća vrednost" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "Datoteka" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "Odaberite datoteku za učitavanje" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "Nije podržan tip datoteke" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "Prevelika datoteka" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "Nisu pronađene kolone podataka u datoteci" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "Nisu pronađeni redovi podataka u datoteci" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "Nisu navedeni redovi podataka" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "Nisu obezbeđene kolone podataka" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Nedostaje potrebna kolona: '{name}'" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplicirana kolona: '{col}'" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "Udaljena slika" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "URL udaljene slike" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "Preuzimanje slika s udaljenog URL-a nije omogućeno" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "Provera pozadinskog radnika nije uspjela" @@ -750,14 +750,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "" msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "Reference naloga za pravljenje" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -972,8 +972,8 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1109,10 +1109,10 @@ msgstr "" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "" @@ -1435,11 +1435,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "" @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "" @@ -1914,6 +1914,22 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "" - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1129 +2315,1129 @@ msgstr "" msgid "Template" msgstr "" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1878 +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3434,24 +3445,24 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3462,101 +3473,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3566,31 +3577,39 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3688,6 +3707,23 @@ msgstr "" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "" + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3918,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -3929,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,7 +3980,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3989,7 +4025,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4015,7 +4051,7 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4032,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "" @@ -4053,26 +4089,26 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4097,7 +4133,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "" @@ -4117,11 +4153,11 @@ msgstr "" msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4194,7 +4230,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4405,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4505,7 +4541,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4555,10 +4591,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4712,7 +4748,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4770,11 +4806,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +4995,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5021,8 +5057,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" @@ -5070,7 +5106,7 @@ msgstr "" msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5144,7 +5180,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5153,163 +5189,163 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5735,34 +5771,34 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5771,11 +5807,11 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5787,11 +5823,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5804,12 +5840,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5827,8 +5863,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5943,8 +5979,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5952,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5970,371 +6006,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6346,686 +6382,686 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -7251,15 +7287,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8308,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8324,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -8832,7 +8868,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8877,7 +8913,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" @@ -8889,7 +8925,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" @@ -8966,7 +9002,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" @@ -8998,7 +9034,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9122,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "" @@ -9444,7 +9480,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "" @@ -9464,11 +9500,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10199,20 +10235,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "" @@ -10705,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "" @@ -14334,3 +14370,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po index 007bbf6fa5..cca1a62050 100644 --- a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:54\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -56,18 +56,18 @@ msgstr "Information om felet finns under Error i adminpanelen" msgid "Enter date" msgstr "Ange datum" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "Bilaga" msgid "Select file to attach" msgstr "Välj fil att bifoga" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "Välj fil att bifoga" msgid "Link" msgstr "Länk" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "Länk till extern URL" @@ -440,10 +440,10 @@ msgstr "Kommentar" msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "" msgid "Invalid choice" msgstr "Ogiltigt val" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "Namn" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "överordnad" msgid "Path" msgstr "Sökväg" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "Streckkodsdata" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "Befintlig streckkod hittades" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "Serverfel" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "Ett fel har loggats av servern." -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "Måste vara ett giltigt nummer" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "Välj valuta från tillgängliga alternativ" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "Ditt konto har skapats." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "Välkommen till InvenTree" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "Filnamn" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "Ogiltigt värde" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "Datafil" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "Välj fil för uppladdning" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "Filtypen stöds inte" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "Filen är för stor" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "Inga kolumner hittades i filen" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "Inga rader hittades i filen" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "Inga rader angivna" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "Inga datakolumner har angetts" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Saknar obligatorisk kolumn: '{name}'" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplicerad kolumn: '{col}'" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "URL för fjärrbildsfil" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "Nedladdning av bilder från fjärr-URL är inte aktiverad" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "Kontroll av bakgrundsarbetare misslyckades" @@ -750,14 +750,14 @@ msgstr "Om InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Byggnationen måste avbrytas innan den kan tas bort" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "" msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "Byggorderreferens" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "Byggstatus" msgid "Build status code" msgstr "Bygg statuskod" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batchkod" @@ -972,8 +972,8 @@ msgstr "Batchkod" msgid "Batch code for this build output" msgstr "Batch-kod för denna byggutdata" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "Användare som utfärdade denna byggorder" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "Byggutgång matchar inte bygg order" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1109,10 +1109,10 @@ msgstr "" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "Antal måste vara 1 för serialiserat lager" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Serienummer" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "Acceptera ofullständig" @@ -1435,11 +1435,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "" @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "Bilagor" msgid "Build Notes" msgstr "Bygganteckningar" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "" @@ -1914,6 +1914,22 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "{name.title()} Fil" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "Unik projektkod" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "Projektbeskrivning" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "Ingen grupp" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "" - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "Ogiltigt domännamn: {domain}" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "Omstart krävs" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "Serverinstans (Namn)" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "Företagsnamn" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "Internt företagsnamn" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "Bas-URL" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "Bas-URL för serverinstans" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "Standardvaluta" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "dagar" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "Ladda ner från URL" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "Tillåt nedladdning av bilder och filer från extern URL" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "Kräv bekräftelse" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "Kräv uttrycklig användarbekräftelse för vissa åtgärder." -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Stöd för streckkoder" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1131 +2315,1129 @@ msgstr "" msgid "Template" msgstr "Mall" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Virtuell" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "Delar är virtuella som standard" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "Visa import i vyer" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "Visa importguiden i vissa delvyer" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "Visa relaterade delar" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "Visa relaterade delar för en del" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "Visningsformat för delnamn" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "Formatera för att visa artikelnamnet" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "Interna priser" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "Aktivera etikettutskrift" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "Aktivera etikettutskrift från webbgränssnittet" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "Etikettbild DPI" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "Aktivera rapporter" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "Aktivera generering av rapporter" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "Debugläge" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "Sidstorlek" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "Standard sidstorlek för PDF-rapporter" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "Aktivera testrapporter" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1878 -#, fuzzy -#| msgid "A build order has been completed" +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" -msgstr "En byggorder har slutförts" +msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "Aktivera registrering" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "Tillåtna domäner" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "Aktivera projektkoder" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "Visa nyheter" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "Sök efter artiklar" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "Sök efter leverantörsartikel" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "Sök efter tillverkarartikel" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "Datumformat" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3436,24 +3445,24 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3464,101 +3473,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3568,31 +3577,39 @@ msgstr "" msgid "Image" msgstr "Bild" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3690,6 +3707,23 @@ msgstr "" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "" + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "Ogiltigt domännamn: {domain}" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3920,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -3931,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3946,7 +3980,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3991,7 +4025,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4017,7 +4051,7 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4034,7 +4068,7 @@ msgstr "Leverantör" msgid "Select supplier" msgstr "Välj leverantör" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "" @@ -4055,26 +4089,26 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4099,7 +4133,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "" @@ -4119,11 +4153,11 @@ msgstr "" msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4196,7 +4230,7 @@ msgstr "Radera bild" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4407,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4507,7 +4541,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4557,10 +4591,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4714,7 +4748,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4772,11 +4806,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4884,10 +4918,8 @@ msgid "shipped by" msgstr "" #: order/models.py:1027 -#, fuzzy -#| msgid "Build output is already completed" msgid "Order is already complete" -msgstr "Byggutgång är redan slutförd" +msgstr "" #: order/models.py:1030 msgid "Order is already cancelled" @@ -4963,7 +4995,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5025,8 +5057,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" @@ -5074,7 +5106,7 @@ msgstr "" msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5148,7 +5180,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5157,163 +5189,163 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Streckkod" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5739,34 +5771,34 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Nyckelord" @@ -5775,11 +5807,11 @@ msgstr "Nyckelord" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "Kategorinamn" @@ -5791,11 +5823,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5808,12 +5840,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5831,8 +5863,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5855,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5947,8 +5979,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5956,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "Kategori" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5974,371 +6006,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Ikon" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "Ikon (valfritt)" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Standardleverantör" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6350,686 +6382,686 @@ msgstr "" msgid "Date" msgstr "Datum" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Underkategorier" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "Välj kategori" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "Kopiera bild" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "Generera rapport" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "Uppdatera" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -7255,15 +7287,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8312,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8328,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -8836,7 +8868,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8881,7 +8913,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" @@ -8893,7 +8925,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" @@ -8970,7 +9002,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" @@ -9002,7 +9034,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9126,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "" @@ -9448,7 +9480,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "" @@ -9468,11 +9500,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10203,20 +10235,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "Aldrig" @@ -10709,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "" @@ -14338,3 +14370,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po index 7683e9c703..4e9eea25d8 100644 --- a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:55\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -56,18 +56,18 @@ msgstr "" msgid "Enter date" msgstr "ป้อนวันที่" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "ไฟล์แนบ" msgid "Select file to attach" msgstr "เลือกไฟล์ที่ต้องการแนบ" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "เลือกไฟล์ที่ต้องการแนบ" msgid "Link" msgstr "ลิงก์" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "" @@ -440,10 +440,10 @@ msgstr "ความคิดเห็น" msgid "File comment" msgstr "ความเห็นของไฟล์" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "ชื่อ" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "" msgid "Path" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "ข้อมูลบาร์โค้ด" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "บาร์โค้ดนี้มีในระบบแล้ว" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "เกิดข้อผิดพลาดที่เซิร์ฟเวอร์" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "ต้องเป็นตัวเลข" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "สกุลเงิน" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "ยินดีต้อนรับเข้าสู่ Inventree" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "ชื่อไฟล์" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "ไฟล์ข้อมูล" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "เลือกไฟล์ข้อมูลที่จะอัปโหลด" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "ไฟล์มีขนาดใหญ่เกินไป" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "" @@ -750,14 +750,14 @@ msgstr "เกี่ยวกับ Inventree" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "" msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -972,8 +972,8 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "จำนวนต้องมีค่ามากกว่า 0" @@ -1109,10 +1109,10 @@ msgstr "" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "" @@ -1435,11 +1435,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "" @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "" @@ -1914,6 +1914,22 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "" - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1129 +2315,1129 @@ msgstr "" msgid "Template" msgstr "" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1878 +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3434,24 +3445,24 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3462,101 +3473,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3566,31 +3577,39 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3688,6 +3707,23 @@ msgstr "" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "" + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3918,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -3929,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,7 +3980,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3989,7 +4025,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4015,7 +4051,7 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4032,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "" @@ -4053,26 +4089,26 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4097,7 +4133,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "" @@ -4117,11 +4153,11 @@ msgstr "" msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4194,7 +4230,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4405,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4505,7 +4541,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4555,10 +4591,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4712,7 +4748,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4770,11 +4806,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +4995,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5021,8 +5057,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" @@ -5070,7 +5106,7 @@ msgstr "" msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5144,7 +5180,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5153,163 +5189,163 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5735,34 +5771,34 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5771,11 +5807,11 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5787,11 +5823,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5804,12 +5840,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5827,8 +5863,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5943,8 +5979,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5952,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5970,371 +6006,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6346,686 +6382,686 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -7251,15 +7287,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8308,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8324,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -8832,7 +8868,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8877,7 +8913,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" @@ -8889,7 +8925,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" @@ -8966,7 +9002,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" @@ -8998,7 +9034,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9122,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "" @@ -9444,7 +9480,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "" @@ -9464,11 +9500,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10199,20 +10235,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "" @@ -10705,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "" @@ -14334,3 +14370,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po index 89045abeac..12df798976 100644 --- a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:54\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -56,18 +56,18 @@ msgstr "Hata detaylarını admin panelinde bulabilirsiniz" msgid "Enter date" msgstr "Tarih giriniz" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "Ek" msgid "Select file to attach" msgstr "Eklenecek dosyayı seç" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "Eklenecek dosyayı seç" msgid "Link" msgstr "Bağlantı" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "Harici URL'ye bağlantı" @@ -440,10 +440,10 @@ msgstr "Yorum" msgid "File comment" msgstr "Dosya yorumu" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "Aynı kaynak altında birden fazla aynı isim kullanılamaz" msgid "Invalid choice" msgstr "Geçersiz seçim" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "Adı" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "üst" msgid "Path" msgstr "Yol" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "Markdown notları (isteğe bağlı)" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "Barkod Verisi" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "Üçüncü parti barkod verisi" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "Barkod Hash" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "Barkod verisinin benzersiz hash'i" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "Var olan barkod bulundu" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "Sunucu Hatası" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "Bir hafta sunucu tarafından kayıt edildi." -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Para birimi" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "Var olan seçeneklerden bir döviz birimi seçin" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "Bu kullanıcı rolünü değiştirmek için izniniz yok." -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "Sadece süper kullanıcılar yeni kullanıcı oluşturabilir" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "Kullanıcı hesabınız oluşturulmuştur." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "Giriş yapmak için lütfen şifre sıfırlama fonksiyonunu kullanınız" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "InvenTree'ye Hoşgeldiniz" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "Dosya adı" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "Geçersiz değer" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "Veri Dosyası" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "Yüklemek istediğiniz dosyayı seçin" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "Desteklenmeyen dsoya tipi" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "Dosya boyutu çok büyük" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "Dosyada kolon bulunamadı" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "Dosyada satır bulunamadı" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "Dosyada satır bulunamadı" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "Dosyada uygun kolon bulunamadı" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Gerekli kolon ismi eksik:'{name}'" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Tekrarlanan kolon ismi:'{col}'" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "Uzaktan Görüntüler" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "Uzaktan görüntü dosya URL'si" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "Arka plan çalışanı kontrolü başarısız oldu" @@ -750,14 +750,14 @@ msgstr "InvenTree Hakkında" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "" msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "Yapım İşi Emri Referansı" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "Yapım İşi Durumu" msgid "Build status code" msgstr "Yapım işi durum kodu" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Sıra numarası" @@ -972,8 +972,8 @@ msgstr "Sıra numarası" msgid "Batch code for this build output" msgstr "Yapım işi çıktısı için sıra numarası" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "Bu yapım işi emrini veren kullanıcı" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "Yapım işi çıktısı, yapım işi emri ile eşleşmiyor" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1109,10 +1109,10 @@ msgstr "" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "Seri numaralı stok için miktar bir olmalı" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Seri Numaraları" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "Yapım işi çıktısı için seri numaraları girin" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "Gerekli stok tamamen tahsis edilemedi" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "" @@ -1435,11 +1435,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "" @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "Ekler" msgid "Build Notes" msgstr "Yapım İşi Notları" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "" @@ -1914,6 +1914,22 @@ msgstr "" msgid "Incomplete Outputs" msgstr "Tamamlanmamış Çıktılar" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "{name.title()} Dosya" msgid "Select {name} file to upload" msgstr "{name} dosyasını yüklemek için seçin" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "Anahtar dizesi benzersiz olmalı" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "" - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "Şirket adı" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "Ana URL" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "Varsayılan Para Birimi" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "günler" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "URL'den indir" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "Harici URL'den resim ve dosyaların indirilmesine izin ver" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Barkod Desteği" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "DPN Regex" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "Parça DPN eşleştirmesi için Düzenli İfade Kalıbı (Regex)" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "Yinelenen DPN'ye İzin Ver" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "Birden çok parçanın aynı DPN'yi paylaşmasına izin ver" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "DPN Düzenlemeye İzin Ver" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "Parçayı düzenlerken DPN değiştirmeye izin ver" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "Kategori Paremetre Sablonu Kopyala" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "Parça oluştururken kategori parametre şablonlarını kopyala" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1131 +2315,1129 @@ msgstr "Parça oluştururken kategori parametre şablonlarını kopyala" msgid "Template" msgstr "Şablon" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "Parçaları varsayılan olan şablondur" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Montaj" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "Parçalar varsayılan olarak başka bileşenlerden monte edilebilir" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Bileşen" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "Parçalar varsayılan olarak alt bileşen olarak kullanılabilir" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "Satın Alınabilir" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "Parçalar varsayılan olarak satın alınabilir" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Satılabilir" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "Parçalar varsayılan olarak satılabilir" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Takip Edilebilir" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "Parçalar varsayılan olarak takip edilebilir" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Sanal" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "Parçalar varsayılan olarak sanaldır" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "İlgili parçaları göster" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "Hata Ayıklama Modu" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "Sayfa Boyutu" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "PDF raporlar için varsayılan sayfa boyutu" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1878 -#, fuzzy -#| msgid "Mark order as complete" +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" -msgstr "Siparişi tamamlandı olarak işaretle" +msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "Formlarda Miktarı Göster" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3436,24 +3445,24 @@ msgstr "" msgid "Price" msgstr "Fiyat" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3464,101 +3473,101 @@ msgstr "" msgid "Active" msgstr "Aktif" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3568,31 +3577,39 @@ msgstr "" msgid "Image" msgstr "Resim" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3690,6 +3707,23 @@ msgstr "" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "" + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3920,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Temel Parça" @@ -3931,7 +3965,7 @@ msgstr "Parça seçin" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3946,7 +3980,7 @@ msgid "Select manufacturer" msgstr "Üretici seçin" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3991,7 +4025,7 @@ msgid "Parameter value" msgstr "Parametre değeri" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4017,7 +4051,7 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4034,7 +4068,7 @@ msgstr "Tedarikçi" msgid "Select supplier" msgstr "Tedarikçi seçin" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "" @@ -4055,26 +4089,26 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "Not" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "temel maliyet" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4099,7 +4133,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "çoklu" @@ -4119,11 +4153,11 @@ msgstr "" msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4196,7 +4230,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4407,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4507,7 +4541,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4557,10 +4591,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4714,7 +4748,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4772,11 +4806,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4884,10 +4918,8 @@ msgid "shipped by" msgstr "" #: order/models.py:1027 -#, fuzzy -#| msgid "Build output is already completed" msgid "Order is already complete" -msgstr "Yapım işi çıktısı zaten tamamlanmış" +msgstr "" #: order/models.py:1030 msgid "Order is already cancelled" @@ -4963,7 +4995,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5025,8 +5057,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" @@ -5074,7 +5106,7 @@ msgstr "" msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tahsis miktarı stok miktarını aşamaz" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "Seri numaralı stok kalemi için miktar bir olmalı" @@ -5148,7 +5180,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5157,163 +5189,163 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5739,34 +5771,34 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "DPN" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "Revizyon" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Anahtar kelimeler" @@ -5775,11 +5807,11 @@ msgstr "Anahtar kelimeler" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5791,11 +5823,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Çeşidi" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimum Stok" @@ -5808,12 +5840,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5831,8 +5863,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5855,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5947,8 +5979,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5956,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Varsayılan Konum" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5974,371 +6006,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Parça Kategorileri" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "Bu kategori içindeki parçalar için varsayılan konum" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "Parça adı" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "Şablon Mu" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "Bu parça bir şablon parçası mı?" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "Bu parça başka bir parçanın çeşidi mi?" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "Parça revizyon veya versiyon numarası" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Varsayılan Tedarikçi" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "Varsayılan tedarikçi parçası" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "Bu parça diğer parçalardan yapılabilir mi?" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "Bu parça diğer parçaların yapımında kullanılabilir mi?" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "Bu parça müşterilere satılabilir mi?" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "Bu parça aktif mi?" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "Oluşturan Kullanıcı" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6350,686 +6382,686 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "Test şablonları sadece takip edilebilir paçalar için oluşturulabilir" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "Test Adı" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "Test Açıklaması" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Etkin" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Gerekli" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "Parametre şablon adı benzersiz olmalıdır" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Parametre Şablonu" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Bu malzeme listesi, çeşit parçalar listesini kalıtsalıdır" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Çeşide İzin Ver" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Çeşit parçaların stok kalemleri bu malzeme listesinde kullanılabilir" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Alt kategoriler" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -7255,15 +7287,15 @@ msgstr "Parça Tedarikçileri" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8312,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "Şablon için geçerli bir nesne sağlanmadı" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8328,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -8836,7 +8868,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8881,7 +8913,7 @@ msgstr "Bu stok kalemi için tedarikçi parçası seçin" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" @@ -8893,7 +8925,7 @@ msgstr "" msgid "Serial number for this item" msgstr "Bu öge için seri numarası" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" @@ -8970,7 +9002,7 @@ msgstr "Seri numaraları tam sayı listesi olmalı" msgid "Quantity does not match serial numbers" msgstr "Miktar seri numaları ile eşleşmiyor" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "Seri numaraları zaten mevcut" @@ -9002,7 +9034,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9126,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "İşlem notu ekle (isteğe bağlı)" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Alt konumlar" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "" @@ -9448,7 +9480,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "" @@ -9468,11 +9500,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10203,20 +10235,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "" @@ -10709,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "Hata Raporu Gönder" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "panoya kopyala" @@ -14338,3 +14370,4 @@ msgstr "Parçaları düzenleme izni" #: users/models.py:413 msgid "Permission to delete items" msgstr "Parçaları silme izni" + diff --git a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po index cc678872fa..72435f920f 100644 --- a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:54\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -56,18 +56,18 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "" @@ -440,10 +440,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "" msgid "Path" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "" @@ -750,14 +750,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "" msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -972,8 +972,8 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1109,10 +1109,10 @@ msgstr "" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "" @@ -1435,11 +1435,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "" @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "" @@ -1914,6 +1914,22 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "" - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1129 +2315,1129 @@ msgstr "" msgid "Template" msgstr "" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1878 +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3434,24 +3445,24 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3462,101 +3473,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3566,31 +3577,39 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3688,6 +3707,23 @@ msgstr "" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "" + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3918,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -3929,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,7 +3980,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3989,7 +4025,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4015,7 +4051,7 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4032,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "" @@ -4053,26 +4089,26 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4097,7 +4133,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "" @@ -4117,11 +4153,11 @@ msgstr "" msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4194,7 +4230,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4405,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4505,7 +4541,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4555,10 +4591,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4712,7 +4748,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4770,11 +4806,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +4995,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5021,8 +5057,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" @@ -5070,7 +5106,7 @@ msgstr "" msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5144,7 +5180,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5153,163 +5189,163 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5735,34 +5771,34 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5771,11 +5807,11 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5787,11 +5823,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5804,12 +5840,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5827,8 +5863,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5943,8 +5979,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5952,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5970,371 +6006,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6346,686 +6382,686 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -7251,15 +7287,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8308,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8324,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -8832,7 +8868,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8877,7 +8913,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" @@ -8889,7 +8925,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" @@ -8966,7 +9002,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" @@ -8998,7 +9034,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9122,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "" @@ -9444,7 +9480,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "" @@ -9464,11 +9500,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10199,20 +10235,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "" @@ -10705,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "" @@ -14334,3 +14370,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po index b6b2641167..8d7344ea1f 100644 --- a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:55\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -56,18 +56,18 @@ msgstr "Chi tiết lỗi có thể được tìm thấy trong bảng quản tr msgid "Enter date" msgstr "Nhập ngày" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "Đính kèm" msgid "Select file to attach" msgstr "Chọn file đính kèm" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "Chọn file đính kèm" msgid "Link" msgstr "Liên kết" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "Liên kết đến URL bên ngoài" @@ -440,10 +440,10 @@ msgstr "Bình luận" msgid "File comment" msgstr "Bình luận tệp tin" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "Tên trùng lặp không thể tồn tại trong cùng cấp thư mục" msgid "Invalid choice" msgstr "Lựa chọn sai" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "Tên" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "thư mục cha" msgid "Path" msgstr "Đường dẫn" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "Ghi chú markdown (không bắt buộc)" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "Dữ liệu mã vạch" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "Dữ liệu mã vạch của bên thứ ba" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "Dữ liệu băm mã vạch" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "Chuỗi băm duy nhất của dữ liệu mã vạch" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "Mã vạch đã tồn tại" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "Lỗi máy chủ" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "Lỗi đã được ghi lại bởi máy chủ." -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "Phải là một số hợp lệ" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Tiền tệ" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "Chọn tiền tệ trong các tùy chọn đang có" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "Bạn không có quyền thay đổi vai trò của người dùng này." -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "Chỉ có siêu người dùng là có thể tạo người dùng mới" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "Tài khoản của bạn đã được tạo." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "Xin hãy sử dụng chức năng tạo lại mật khẩu để đăng nhập" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "Chào mừng đến với InvenTree" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "Tên tập tin" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "Giá trị không hợp lệ" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "Tập tin dữ liệu" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "Chọn tệp tin để tải lên" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "Loại tệp tin không được hỗ trợ" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "Tệp tin quá lớn" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "Không tìm thấy cột nào trong tệp tin" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "Không tìm thấy dòng nào trong tệp tin" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "Chưa có dữ liệu" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "Chưa cung cấp cột dữ liệu" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Thiếu cột bắt buộc: '{name}'" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Nhân bản cột: '{col}'" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "Hình ảnh từ xa" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "URL của tệp hình ảnh bên ngoài" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "Chức năng tải hình ảnh từ URL bên ngoài không được bật" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "Nhân công chạy ngầm kiểm tra thất bại" @@ -750,14 +750,14 @@ msgstr "Giới thiệu" msgid "Build must be cancelled before it can be deleted" msgstr "Bạn dựng phải được hủy bỏ trước khi có thể xóa được" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Vật tư tiêu hao" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "Đã theo dõi" msgid "Allocated" msgstr "Đã cấp phát" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "Tham chiếu đơn đặt bản dựng" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "Đơn đặt bản dựng với bản dựng này đã được phân b #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "Đơn đặt bản dựng với bản dựng này đã được phân b #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ 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:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Mã lô hàng" @@ -972,8 +972,8 @@ msgstr "Mã lô hàng" msgid "Batch code for this build output" msgstr "Mã lô cho đầu ra bản dựng này" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "Người dùng người đã được phân công cho đơn đặt bản dựng này" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "Độ ưu tiên" msgid "Priority of this build order" msgstr "Độ quan trọng của đơn đặt bản dựng" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ 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:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Số lượng phải lớn hơn 0" @@ -1109,10 +1109,10 @@ msgstr "Dựng đối tượng" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "Dựng đối tượng" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "Số lượng phải là 1 cho kho sê ri" msgid "Selected stock item does not match BOM line" msgstr "Hàng trong kho đã chọn không phù hợp với đường BOM" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "Số lượng nguyên dương cần phải điền cho sản phẩm có 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:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Số sê-ri" @@ -1261,10 +1261,10 @@ 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:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "Vị trí cho đầu ra bản dựng hoàn thiện" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "Chấp nhận hàng hóa không được phân bổ đầy đủ vào đ 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:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "Chấp nhận không hoàn thành" @@ -1435,11 +1435,11 @@ msgstr "Mục chi tiết bản dựng" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part phải trỏ đến phần tương tự của đơn đặt bản dựng" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "Hàng hóa phải trong kho" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Số lượng có sẵn ({q}) đã bị vượt quá" @@ -1452,7 +1452,7 @@ msgstr "Đầu ra bản dựng phải được xác định cho việc phân s 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:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "Hàng hóa phân bổ phải được cung cấp" @@ -1496,7 +1496,7 @@ msgstr "Phân bổ các mục hóa đơn vật liệu tùy chọn đến đơn msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "Mục BOM" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "" msgid "On Order" msgstr "Bật đơn hàng" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "Đang sản xuất" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "Tập tin đính kèm" msgid "Build Notes" msgstr "Ghi chép bản dựng" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "" @@ -1914,6 +1914,22 @@ msgstr "Chi tiết đơn đặt bản dựng" msgid "Incomplete Outputs" msgstr "Đầu ra chưa hoàn thiện" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "Không phần mở rộng" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "Tập tin {name.title()}" msgid "Select {name} file to upload" msgstr "Chọn tập tin {name} để tải lên" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "Đã cập nhật" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "Nhãn thời gian của lần cập cuối cùng" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "Mã dự án duy nhất" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "Mô tả dự án" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "Người dùng hoặc nhóm có trách nhiệm với dự án này" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "Khóa thiết lập (phải duy nhất - phân biệt hoa thường)" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "Giá trị cài đặt" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "Giá trị đã chọn không hợp lệ" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "Giá trị phải là kiểu boolean" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "Giá trị phải là một số nguyên dương" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "Chuỗi khóa phải duy nhất" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "Không có nhóm" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "Tên miền rỗng là không được phép." - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "Tên miền không hợp lệ: {domain}" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "Không phần mở rộng" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "Cần khởi động lại" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "Một thiết lập đã bị thay đổi yêu cầu khởi động lại máy chủ" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "Chuyển dữ liệu chờ xử lý" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "Số đợt nâng cấp cơ sở dữ liệu chờ xử lý" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "Tên thực thể máy chủ" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "Mô tả chuỗi cho thực thể máy chủ" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "Sử dụng tên thực thể" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "Sử dụng tên thực thể trên thanh tiêu đề" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "Cấm hiển thị `giới thiệu`" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "Chỉ hiển thị cửa sổ `giới thiệu` với siêu người dùng" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "Tên công ty" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "Tên công ty nội bộ" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "URL cơ sở" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "URL cơ sở cho thực thể máy chủ" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "Tiền tệ mặc định" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "Chọn tiền tệ chính khi tính giá" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "Tần suất cập nhật tiền tệ" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Mức độ thường xuyên để cập nhật tỉ giá hối đoái (điền 0 để tắt)" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "ngày" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "Phần mở rộng cập nhật tiền tệ" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "Phần mở rộng cập nhật tiền tệ được sử dụng" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "Tải về từ URL" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "Cho phép tải ảnh và tệp tin từ xa theo URL bên ngoài" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "Giới hạn kích thước tải xuống" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "Kích thước tải xuống tối đa với hình ảnh từ xa" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "User-agent được dùng để tải xuống theo URL" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Cho phép ghi đè user-agent được dùng để tải về hình ảnh và tệp tin từ xa theo URL bên ngoài (để trống nghĩa là dùng mặc định)" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "Yêu cầu xác nhận" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "Yêu cầu người dùng xác nhận rõ ràng với một số chức năng nhất định." -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "Cấp độ cây" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Độ sâu cây mặc định cho màn hình cây. Cấp độ sâu hơn sẽ sử dụng kỹ thuật tải chậm nếu cần thiết." -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "Thời gian kiểm tra bản cập nhật" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "Mức độ thường xuyên để kiểm tra bản cập nhật (điền 0 để tắt)" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "Sao lưu tự động" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "Bật tính năng sao lưu tự động cơ sở dữ liệu và tệp tin đa phương tiện" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "Khoảng thời gian sao lưu tự động" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "Xác định số ngày giữa các kỳ sao lưu tự động" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "Khoảng thời gian xóa tác vụ" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "Kết quả tác vụ chạy ngầm sẽ bị xóa sau số ngày được chỉ định" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "Khoảng thời gian xóa nhật ký lỗi" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "Nhật ký lỗi sẽ bị xóa sau số ngày được chỉ định" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "Khoảng thời gian xóa thông báo" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "Thông báo sẽ bị xóa sau số ngày được chỉ định" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Hỗ trợ mã vạch" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "Bật hỗ trợ máy quét mã vạch trong giao diện web" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "Độ trễ quét mã vạch" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "Thời gian trễ xử lý đầu đọc mã vạch" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "Hỗ trợ mã vạch qua webcam" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "Cho phép quét mã vạch qua webcam bên trong trình duyệt" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "Phiên bản Sản phẩm" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "Bật trường phiên bản cho sản phẩm" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "Mẫu IPN" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "Mẫu dùng nhanh phổ biến dành cho tìm IPN sản phẩm" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "Cho phép trùng IPN" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "Cho phép nhiều sản phẩm dùng IPN giống nhau" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "Cho phép sửa IPN" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "Cho phép đổi giá trị IPN khi sửa một sản phẩm" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "Sao chép dữ liệu BOM của sản phẩm" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "Sao chép dữ liệu BOM mặc định khi nhân bản 1 sản phẩm" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "Sao chép dữ liệu tham số sản phẩm" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "Sao chép dữ liệu tham số mặc định khi nhân bản 1 sản phẩm" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "Chép thông tin kiểm thử sản phẩm" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "Sao chép dữ liệu kiểm thử mặc định khi nhân bản 1 sản phẩm" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "Sao chéo mẫu tham số danh mục" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "Sao chéo mẫu tham số danh mục khi tạo 1 sản phẩm" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1131 +2315,1129 @@ msgstr "Sao chéo mẫu tham số danh mục khi tạo 1 sản phẩm" msgid "Template" msgstr "Mẫu" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "Sản phẩm là mẫu bởi mặc định" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Lắp ráp" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "Sản phẩm có thể lắp giáp từ thành phần khác theo mặc định" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Thành phần" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "Sản phẩm có thể được sử dụng mặc định như thành phần phụ" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "Có thể mua" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "Sản phẩm mặc định có thể mua được" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Có thể bán" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "Sản phẩm mặc định có thể bán được" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Có thể theo dõi" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "Sản phẩm mặc định có thể theo dõi được" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Ảo" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "Sản phẩm mặc định là số hóa" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "Hiển thị Nhập liệu trong khung xem" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "Hiển thị đồ thuật nhập dữ liệu trong một số khung nhìn sản phẩm" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "Hiển thị sản phẩm liên quan" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "Hiện sản phẩm liên quan cho 1 sản phẩm" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "Số liệu tồn kho ban đầu" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "Cho phép tạo tồn kho ban đầu khi thêm 1 sản phẩm mới" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Dữ liệu nhà cung cấp ban đầu" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Cho phép tạo dữ liệu nhà cung cấp ban đầu khi thêm 1 sản phẩm mới" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "Định dạng tên sản phẩm hiển thị" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "Định dạng để hiển thị tên sản phẩm" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "Biểu tượng mặc định của danh mục sản phẩm" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "Biểu tượng mặc định của danh mục sản phẩm (để trống nghĩa là không có biểu tượng)" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "Bắt buộc đơn vị tham số" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "Nếu đơn vị được cung cấp, giá trị tham số phải phù hợp với các đơn vị xác định" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "Vị trí phần thập phân giá bán tối thiểu" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Số vị trí thập phân tối thiểu cần hiển thị khi tạo dữ liệu giá" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "Vị trí phần thập phân giá bán tối đa" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Số vị trí thập phân tối đa cần hiển thị khi tạo dữ liệu giá" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "Sử dụng giá bán nhà cung cấp" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Bao gồm giá phá vỡ cả nhà cung cấp trong tính toán giá tổng thể" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "Ghi đè lịch sử mua hàng" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Giá đơn hàng đặt mua trước đó ghi đè giá phá vỡ của nhà cung cấp" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "Sử dụng giá hàng hóa trong kho" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Dùng giá bán từ dữ liệu kho nhập vào thủ công đối với bộ tính toán giá bán" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "Tuổi giá kho hàng" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Loại trừ hàng hóa trong kho cũ hơn số ngày ngày từ bảng tính giá bán" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "Sử dụng giá biến thể" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "Bao gồm giá biến thể trong bộ tính toán giá tổng thể" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "Chỉ các biến thể hoạt động" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "Chỉ sử dụng sản phẩm biến thể hoạt động để tính toán giá bán biến thể" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "Tần suất tạo lại giá" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "Số ngày trước khi giá sản phẩm được tự động cập nhật" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "Giá nội bộ" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "Bật giá nội bộ cho sản phẩm" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "Ghi đè giá nội bộ" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "Nếu khả dụng, giá nội bộ ghi đè tính toán khoảng giá" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "Bật in tem nhãn" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "Bật chức năng in tem nhãn từ giao diện web" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "DPI hỉnh ảnh tem nhãn" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Độ phân giải DPI khi tạo tệp hình ảnh để cung cấp cho plugin in ấn tem nhãn" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "Bật báo cáo" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "Cho phép tạo báo cáo" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "Chế độ gỡ lỗi" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "Tạo báo cáo trong chế độ gỡ lỗi (đầu ra HTML)" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "Khổ giấy" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "Kích thước trang mặc định cho báo cáo PDF" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "Bật báo cáo kiểm thử" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "Cho phép tạo báo cáo kiểm thử" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "Đính kèm báo cáo kiểm thử" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Khi in một báo cáo kiểm thử, đính kèm một bản sao của báo cáo kiểm thử với hàng trong kho đã được kết hợp" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "Sê ri toàn cục duy nhất" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "Số sê ri cho hàng trong kho phải là duy nhất trong toàn hệ thống" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "Tự động điền số sê ri" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "Tự động điền số sê ri vào biểu mẫu" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "Xóa kho đã hết hàng" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "Mẫu sinh mã theo lô" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "Mẫu tạo mã theo lô mặc định cho hàng trong kho" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "Quá hạn trong kho" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "Bật chức năng quá hạn tồn kho" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "Bán kho quá hạn" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "Cho phép bán hàng kho quá hạn" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "Thời gian hàng cũ trong kho" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "Số ngày hàng trong kho được xác định là cũ trước khi quá hạn" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "Dựng kho quá hạn" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "Cho phép xây dựng với kho hàng quá hạn" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "Kiểm soát sở hữu kho" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "Bật chức năng kiểm soát sở hữu kho với địa điểm và hàng trong kho" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "Biểu tượng địa điểm kho mặc định" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "Biểu tượng địa điểm kho hàng mặc định (trống nghĩa là không có biểu tượng)" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "Hiển thị hàng hóa đã lắp đặt" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "Hiển thị hàng trong kho đã được lắp đặt trên bảng kho" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "Mã tham chiếu đơn đặt bản dựng" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "Mẫu bắt buộc cho để trường tham chiếu đơn đặt bản dựng" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "Bật đơn hàng trả lại" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "Bật chức năng đơn hàng trả lại trong giao diện người dùng" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "Mẫu tham chiếu đơn hàng trả lại" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "Sửa đơn hàng trả lại đã hoàn thành" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "Cho phép sửa đơn hàng trả lại sau khi đã hoàn thành rồi" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "Mẫu tham chiếu đơn đặt hàng" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "Mẫu bắt buộc để tạo trường tham chiếu đơn đặt hàng" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "Vận chuyển mặc định đơn đặt hàng" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "Cho phép tạo vận chuyển mặc định với đơn đặt hàng" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "Sửa đơn đặt hàng đã hoàn thành" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Cho phép sửa đơn đặt hàng sau khi đã vận chuyển hoặc hoàn thành" -#: common/models.py:1878 -#, fuzzy -#| msgid "Mark order as complete" +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" -msgstr "Đánh dấu đơn đặt đã hoàn thành" +msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "Mẫu tham chiếu đơn đặt mua" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "Mẫu bắt buộc cho để trường tham chiếu đơn đặt mua" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "Sửa đơn đặt mua đã hoàn thành" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Cho phép sửa đơn đặt mua sau khi đã vận chuyển hoặc hoàn thành" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "Tự động hoàn thành đơn đặt mua" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "Bật quên mật khẩu" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "Bật chức năng quên mật khẩu trong trang đăng nhập" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "Bật đăng ký" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "Cho phép người dùng tự đăng ký tại trang đăng nhập" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "Bật SSO" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "Cho phép SSO tại trang đăng nhập" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "Bật đăng ký SSO" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Cho phép người dùng tự đăng ký SSO tại trang đăng nhập" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "Yêu cầu email" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "Yêu cầu người dùng cung cấp email để đăng ký" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "Người dùng tự động điền SSO" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "Tự động điền thông tin chi tiết từ dữ liệu tài khoản SSO" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "Thư 2 lần" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "Khi đăng ký sẽ hỏi người dùng hai lần thư điện tử của họ" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "Mật khẩu 2 lần" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "Khi đăng ký sẽ hỏi người dùng hai lần mật khẩu của họ" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "Các tên miền được phép" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Cấm đăng ký với 1 số tên miền cụ thể (dấu phẩy ngăn cách, bắt đầu với dấu @)" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "Nhóm khi đăng ký" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "Nhóm được gán cho người dùng mới khi đăng ký" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "Bắt buộc MFA" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "Người dùng phải sử dụng bảo mật đa nhân tố." -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "Kiểm tra phần mở rộng khi khởi động" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Kiểm tra toàn bộ phần mở rộng đã được cài đặt khi khởi dộng - bật trong môi trường ảo hóa" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "Kiểm tra cập nhật plugin" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "Bật tích hợp URL" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "Bật phần mở rộng để thêm định tuyến URL" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "Bật tích hợp điều hướng" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "Bật phần mở rộng để tích hợp thanh định hướng" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "Bật tích hợp ứng dụng" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "Bật phần mở rộng để thêm ứng dụng" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "Cho phép tích hợp lập lịch" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "Bật phẩn mở rộng để chạy các tác vụ theo lịch" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "Bật tích hợp nguồn cấp sự kiện" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "Bật phần mở rộng để trả lời sự kiện bên trong" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "Bật mã dự án" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "Bật mã dự án để theo dõi dự án" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "Chức năng kiểm kê" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Bật chức năng kiểm kê theo mức độ ghi nhận kho và tính toán giá trị kho" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "Ngoại trừ vị trí bên ngoài" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Loại trừ hàng trong kho thuộc địa điểm bên ngoài ra khỏi tính toán kiểm kê" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "Giai đoạn kiểm kê tự động" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Số ngày giữa ghi chép kiểm kê tự động (đặt không để tắt)" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "Khoảng thời gian xóa báo cáo" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Báo cáo kiểm kê sẽ bị xóa sau số ngày xác định" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "Hiển thị tên đầy đủ của người dùng" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "Hiển thị tên đầy đủ thay vì tên đăng nhập" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "Khóa thiết lập (phải duy nhất - phân biệt hoa thường" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "Ẩn sản phẩm ngừng hoạt động" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Ẩn sản phẩm bị tắt trong kết quả trình bày tại trang chủ" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "Hiện sản phẩm đã đăng ký" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "Hiện sản phẩm đã đăng ký trên trang chủ" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "Hiện danh mục đã đăng ký" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "Hiện danh mục sản phẩm đã đăng ký trên trang chủ" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "Hiển thị nguyên liệu mới nhất" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "Hiển thị nguyên liệu mới nhất trên trang chủ" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "Hiện BOM chờ xác thực tại trang chủ" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "Hiện thay đổi kho hàng gần đây" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "Hiện hàng trong kho được thay đổi gần nhất trên trang chủ" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "Hiển thị hàng còn ít" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "Hiển thị hàng hóa còn ít tại trang chủ" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "Hiển thị hết hàng" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "Hiển thị hàng hóa đã bán hết tại trang chủ" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "Hiển thị hàng cần thiết" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "Hiện hàng trong kho cần thiết cho xây dựng tại trang chủ" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "Bán kho quá hạn" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "Hiển thị hàng hóa đã quá hạn trên trang chủ" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "Hiện kho hàng ế" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "Hiện hàng trong kho bị ế trên trang chủ" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "Hiện bản dựng chờ xử lý" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "Hiện bản dựng chờ xử lý trên trang chủ" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "Hiện bản dựng quá hạn" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "Hiện bản dựng quá hạn trên trang chủ" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "Hiện PO nổi bật" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "Hiện PO nổi bật trên trang chủ" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "Hiện PO quá hạn" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "Hiện đơn mua hàng quá hạn trên trang chủ" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "Hiện đơn hàng vận chuyển nổi bật" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "Hiện đơn hàng vận chuyển nổi bật tại trang chủ" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "Hiện đơn vận chuyển quá hạn" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "Hiện đơn vận chuyển quá hạn trên trang chủ" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "Hiện đơn vận chuyển chờ xử lý" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "Hiện đơn vận chuyển chờ xử lý trên trang chủ" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "Hiện tin tức" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "Hiện tin tức trên trang chủ" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "Hiển thị nhãn cùng dòng" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Hiển thị nhãn PDF trong trình duyệt, thay vì tải về dạng tệp tin" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "Máy in tem nhãn mặc định" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "Cấu hình máy in tem nhãn nào được chọn mặc định" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "Hiển thị báo cáo cùng hàng" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Hiện báo cáo PDF trong trình duyệt, thay vì tải về dạng tệp tin" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "Tìm sản phẩm" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "Hiện hàng hóa trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "Tìm sản phẩm nhà cung cấp" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "Hiện sản phẩm nhà cung cấp trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "Tìm sản phẩm nhà sản xuất" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "Hiện sản phẩm nhà sản xuất trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "Ẩn sản phẩm ngừng hoạt động" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "Loại trừ sản phẩm ngưng hoạt động trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "Tìm kiếm danh mục" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "Hiện danh mục sản phẩm trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "Tìm kiếm kho" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "Hiện hàng hóa ở kho trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "Ẩn hàng hóa trong kho không có sẵn" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "Không bao gồm hàng hóa trong kho mà không sẵn sàng từ màn hình xem trước tìm kiếm" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "Tìm kiếm vị trí" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "Hiện vị trí kho hàng trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "Tìm kiếm công ty" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "Hiện công ty trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "Tìm kiếm đặt hàng xây dựng" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "Hiện đơn đặt xây dựng trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "Tìm kiếm đơn đặt mua" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "Hiện đơn đặt mua trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "Loại trừ đơn đặt mua không hoạt động" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "Loại trừ đơn đặt mua không hoạt động ra khỏi cửa sổ xem trước tìm kiếm" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "Tìm đơn đặt hàng người mua" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "Hiện đơn đặt hàng người mua trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "Loại trừ đơn đặt hàng người mua không hoạt động" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "Không bao gồm đơn đặt hàng người mua không hoạt động trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "Tìm kiếm đơn hàng trả lại" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "Hiện đơn hàng trả lại trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "Loại trừ đơn hàng trả lại không hoạt động" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "Không bao gồm đơn hàng trả lại không hoạt động trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "Kết quả xem trước tìm kiếm" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "Số kết quả cần hiển thị trong từng phần của cửa sổ xem trước tìm kiếm" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "Tìm kiếm biểu thức" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "Bật tìm kiếm biểu thức chính quy trong câu truy vấn tìm kiếm" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "Tìm phù hợp toàn bộ chữ" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "Truy vấn tìm trả về kết quả phù hợp toàn bộ chữ" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "Hiện số lượng trong biểu mẫu" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "Hiển thị số lượng sản phẩm có sẵn trong một số biểu mẫu" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "Phím escape để đóng mẫu biểu" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "Sử dụng phím escape để đóng mẫu biểu hộp thoại" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "Cố định điều hướng" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "Vị trí thành điều hướng là cố định trên cùng màn hình" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "Định dạng ngày" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "Định dạng ưa chuộng khi hiển thị ngày" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Lập lịch sản phẩm" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "Hiển thị thông tin lịch sản phẩm" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Kiểm kê sản phẩm" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Hiển thị thông tin kiểm kê sản phẩm (nếu chức năng kiểm kê được bật)" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "Độ dài chuỗi trong bảng" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "Giới hạn độ dài tối đa cho chuỗi hiển thị trong kiểu xem bảng biểu" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "Mẫu nhãn sản phẩm mặc định" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "Mẫu nhãn sản phẩm mặc định được chọn tự động" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "Mẫu hàng hóa trong khi mặc định" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "Mẫu nhãn hàng hóa trong kho tự động được chọn" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "Mẫu nhãn vị trí kho mặc định" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "Mẫu nhãn vị trí kho được chọn tự động" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "Nhận báo cáo lỗi" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "Nhận thông báo khi có lỗi hệ thống" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "Số lượng giá phá vỡ" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3436,24 +3445,24 @@ msgstr "Số lượng giá phá vỡ" msgid "Price" msgstr "Giá" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "Đơn vị giá theo số lượng cụ thể" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "Đầu mối" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "Đầu mối tại điểm webhook được nhận" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "Tên của webhook này" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3464,101 +3473,101 @@ msgstr "Tên của webhook này" msgid "Active" msgstr "Hoạt động" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "Webhook có hoạt động không" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "Chữ ký số" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "Chữ ký số để truy cập" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "Bí mật" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "Mã bí mật dùng chung cho HMAC" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "Mã Tin nhắn" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "Định danh duy nhất cho tin nhắn này" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "Máy chủ" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "Mãy chủ từ tin nhắn này đã được nhận" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "Đầu mục" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "Đầu mục tin nhắn" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "Thân" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "Thân tin nhắn này" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "Đầu mối của tin nhắn này đã nhận được" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "Làm việc vào" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "Công việc trong tin nhắn này đã kết thúc?" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "Mã" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Tiêu đề" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "Đã công bố" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Tác giả" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "Tóm tắt" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "Đọc" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "Tin này đã được đọc?" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3568,31 +3577,39 @@ msgstr "Tin này đã được đọc?" msgid "Image" msgstr "Hình ảnh" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "Tệp ảnh" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "Tên đơn vị phải là một định danh hợp lệ" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "Tên đơn vị" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Biểu tượng" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "Biểu tượng đơn vị tùy chọn" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Định nghĩa" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "Định nghĩa đơn vị" @@ -3690,6 +3707,23 @@ msgstr "Đối số từ khóa" msgid "Task keyword arguments" msgstr "Đối số từ khóa công việc" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "Tên miền rỗng là không được phép." + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "Tên miền không hợp lệ: {domain}" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3920,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "Liên kết thông tin địa chỉ (bên ngoài)" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Sản phẩm cơ bản" @@ -3931,7 +3965,7 @@ msgstr "Chọn sản phẩm" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3946,7 +3980,7 @@ msgid "Select manufacturer" msgstr "Chọn nhà sản xuất" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3991,7 +4025,7 @@ msgid "Parameter value" msgstr "Giá trị tham số" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4017,7 +4051,7 @@ msgstr "Sản phẩm nhà sản xuất đã liên kết phải tham chiếu vớ #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4034,7 +4068,7 @@ msgstr "Nhà cung cấp" msgid "Select supplier" msgstr "Chọn nhà cung cấp" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "Đơn vị quản lý kho nhà cung cấp" @@ -4055,26 +4089,26 @@ msgid "Supplier part description" msgstr "Mô tả sản phẩm nhà cung cấp" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "Ghi chú" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "chi phí cơ sở" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "Thu phí tối thiểu (vd: phí kho bãi)" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4099,7 +4133,7 @@ msgstr "Số lượng gói" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Tổng số lượng được cung cấp trong một gói đơn. Để trống cho các hàng hóa riêng lẻ." -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "nhiều" @@ -4119,11 +4153,11 @@ msgstr "Sẵn hàng đã được cập nhật" msgid "Date of last update of availability data" msgstr "Ngày cập nhật cuối thông tin tồn kho" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "Tiền tệ mặc định được sử dụng cho nhà cung cấp này" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4196,7 +4230,7 @@ msgstr "Xóa ảnh" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4407,7 +4441,7 @@ msgstr "Chưa có thông tin nhà sản xuất" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4507,7 +4541,7 @@ msgid "No supplier information available" msgstr "Chưa có thông tin nhà cung cấp" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4557,10 +4591,10 @@ msgid "Update Part Availability" msgstr "Cập nhật độ sẵn sàng sản phẩm" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4714,7 +4748,7 @@ msgstr "" msgid "Total Price" msgstr "Tổng tiền" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4772,11 +4806,11 @@ msgstr "Đơn hàng trả lại" msgid "Total price for this order" msgstr "Tổng tiền cho đơn hàng hàng" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "Tiền tệ đơn đặt hàng" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "Tiền tệ cho đơn đặt này (để trống để sử dụng tiền mặc định)" @@ -4884,16 +4918,12 @@ msgid "shipped by" msgstr "vận chuyển bằng" #: order/models.py:1027 -#, fuzzy -#| msgid "Build output is already completed" msgid "Order is already complete" -msgstr "Đầu ra bản dựng đã được hoàn thiện" +msgstr "" #: order/models.py:1030 -#, fuzzy -#| msgid "Order cannot be cancelled" msgid "Order is already cancelled" -msgstr "Đơn đặt không thể bị hủy" +msgstr "" #: order/models.py:1034 msgid "Only an open order can be marked as complete" @@ -4965,7 +4995,7 @@ msgstr "Đã nhận" msgid "Number of items received" msgstr "Số mục đã nhận" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5027,8 +5057,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:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Vận chuyển" @@ -5076,7 +5106,7 @@ msgstr "Không thể phân bổ hàng hóa vào một dòng mà không có sản msgid "Allocation quantity cannot exceed stock quantity" msgstr "Số lượng phân bổ không thể vượt quá số lượng của kho" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "Số lượng phải là 1 cho hàng hóa sêri" @@ -5150,7 +5180,7 @@ msgstr "Kết quả cho hàng hóa dòng này" msgid "Cost associated with return or repair for this line item" msgstr "Chi phí gắn với hàng trả lại hoặc sửa chữa cho dòng hàng hóa này" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5159,163 +5189,163 @@ msgstr "Chi phí gắn với hàng trả lại hoặc sửa chữa cho dòng hà msgid "Line Items" msgstr "Mục dòng" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "Đơn đặt không thể bị hủy" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 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:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 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:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "Đơn đặt là không được mở" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "Tiền tệ giá mua" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "Sản phẩm nhà cung cấp phải được chỉ định" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "Đơn đặt mua phải được chỉ định" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "Nhà cung cấp phải phù hợp với đơn đặt mua" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "Đơn đặt mua phải phù hợp với nhà cung cấp" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "Mục dòng" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "Mục dòng không phù hợp với đơn đặt mua" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "Chọn vị trí đích cho hàng hóa đã nhận" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "Nhập mã lô cho hàng trong kho đang đến" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "Nhập số sê ri cho hàng trong kho đang đến" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Mã vạch" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "Mã vạch đã quét" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "Mã vạch đã được dùng" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "Cần điền số nguyên cho sản phẩm có thể theo dõi" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "Dòng hàng hóa phải được cung cấp" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "Vị trí đích phải được chỉ ra" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "Giá trị mã vạch đã cung cấp phải duy nhất" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "Tiền tệ giá bán" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "Chưa cung cấp thông tin vận chuyển" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 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:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "Số lượng phải là số dương" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "Nhập số sê ri để phân bổ" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "Vận đơn đã được chuyển đi" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 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:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "Không tìm thấy số sê ri sau đây" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "Những số sê ri sau đây đã được phân bổ" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "Dòng riêng biệt đơn hàng trả lại" -#: order/serializers.py:1656 +#: order/serializers.py:1657 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:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "Line item đã nhận được" -#: order/serializers.py:1688 +#: order/serializers.py:1689 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:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "Tiền tệ giá đồng hạng" @@ -5741,34 +5771,34 @@ msgstr "Cập nhật {part} giá đơn vị đến {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Cập nhật {part} giá đơn vị đến {price} và số lượng đến {qty}" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "ID sản phẩm" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Tên sản phẩm" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "Mô tả sản phẩm" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "Phiên bản" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Từ khóa" @@ -5777,11 +5807,11 @@ msgstr "Từ khóa" msgid "Part Image" msgstr "Ảnh sản phẩm" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "ID danh mục" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "Tên danh mục" @@ -5793,11 +5823,11 @@ msgstr "ID vị trí mặc định" msgid "Default Supplier ID" msgstr "ID nhà cung ứng mặc định" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Biến thể của" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Kho tối thiểu" @@ -5810,12 +5840,12 @@ msgstr "Sử dụng trong" msgid "Building" msgstr "Đang dựng" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "Chi phí tối thiểu" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "Chi phí tối đa" @@ -5833,8 +5863,8 @@ msgstr "Tên cha" msgid "Category Path" msgstr "Đưỡng dẫn danh mục" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5857,17 +5887,17 @@ msgstr "ID hàng hóa BOM" msgid "Parent IPN" msgstr "IPN cha" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "IPN sản phẩm" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Giá thấp nhất" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5949,8 +5979,8 @@ msgstr "Tùy chọn này phải được chọn" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5958,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "Danh mục" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Điểm bán mặc định" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Tổng số lượng" @@ -5976,371 +6006,371 @@ msgstr "Tổng số lượng" msgid "Input quantity for price calculation" msgstr "Số lượng đầu ra cho tính toán giá bán" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Danh mục sản phẩm" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Danh mục sản phẩm" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "Vị trí mặc định cho sản phẩm trong danh mục này" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "Cấu trúc" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Hàng hóa không được gán trực tiếp vào danh mục có cấu trúc nhưng có thể được gán vào danh mục con." -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "Từ khóa mặc định" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "Từ khóa mặc định cho sản phẩm trong danh mục này" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Biểu tượng" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "Biểu tượng (tùy chọn)" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Bạn không thể thay đổi cấu trúc nhóm sản phẩm này vì một số sản phẩm đã được gắn với nó rồi!" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "Lựa chọn sai cho sản phẩm cha" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Không thể dùng sản phẩm '{self}' trong BOM cho '{parent}' (đệ quy)" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Sản phẩm '{parent}' được dùng trong BOM cho '{self}' (đệ quy)" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN phải phù hợp mẫu biểu thức chính quy {pattern}" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "Hàng trong kho với số sê ri này đã tồn tại" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN trùng lặp không được cho phép trong thiết lập sản phẩm" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "Sản phẩm với Tên, IPN và Duyệt lại đã tồn tại." -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "Sản phẩm không thể được phân vào danh mục sản phẩm có cấu trúc!" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "Tên sản phẩm" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "Là Mẫu" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "Sản phẩm này có phải là sản phẩm mẫu?" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "Đây có phải là 1 biến thể của sản phẩm khác?" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "Mô tả (không bắt buộc)" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "Từ khóa sản phẩm để cải thiện sự hiện diện trong kết quả tìm kiếm" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "Danh mục sản phẩm" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "Mã sản phẩm nội bộ" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "Số phiên bản hoặc bản duyệt lại sản phẩm" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "Hàng hóa này sẽ được cất vào đâu?" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Nhà cung ứng mặc định" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "Nhà cung ứng sản phẩm mặc định" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "Hết hạn mặc định" -#: part/models.py:1035 +#: part/models.py:1036 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:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "Cấp độ kho tối thiểu được phép" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "Đơn vị đo cho sản phẩm này" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "Sản phẩm này có thể được dựng từ sản phẩm khác?" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "Sản phẩm này có thể dùng để dựng các sản phẩm khác?" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "Sản phẩm này có đang theo dõi cho hàng hóa duy nhất?" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "Sản phẩm này có thể mua được từ nhà cung ứng bên ngoài?" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "Sản phẩm này có thể được bán cho khách hàng?" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "Sản phẩm này đang hoạt động?" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "Đây là sản phẩm ảo, ví dụ như sản phẩm phần mềm hay bản quyền?" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "Giá trị tổng kiểm BOM" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "Giá trị tổng kiểm BOM đã được lưu" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "BOM kiểm tra bởi" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "Ngày kiểm tra BOM" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "Tạo người dùng" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "Trách nhiệm chủ sở hữu cho sản phẩm này" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "Kiểm kê cuối cùng" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "Bán nhiều" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "Tiền được dùng để làm đệm tính toán giá bán" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "Chi phí BOM tối thiểu" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "Chi phí thành phần sản phẩm tối thiểu" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "Chi phí BOM tối đa" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "Chi phí thành phần sản phẩm tối đa" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "Chi phí mua vào tối thiểu" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "Chi phí mua vào tối thiểu trong lịch sử" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "Chi phí mua tối đa" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "Chi phí thành phần sản phẩm tối đa trong lịch sử" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "Giá nội bộ tối thiểu" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "Chi phí tối thiểu dựa trên phá vỡ giá nội bộ" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "Giá nội bộ tối đa" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "Chi phí tối đa dựa trên phá vỡ giá nội bộ" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "Giá nhà cung ứng tối thiểu" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "Giá sản phẩm tối thiểu từ nhà cung ứng bên ngoài" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "Giá nhà cung ứng tối đa" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "Giá sản phẩm tối đã từ nhà cung ứng bên ngoài" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "Giá trị biến thể tối thiểu" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "Chi phí tối thiểu của sản phẩm biến thể đã tính" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "Chi phí biến thể tối đa" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "Chi phí tối đa của sản phẩm biến thể đã tính" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "Ghi đề chi phí tối thiểu" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "Ghi đề chi phí tối đa" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "Chi phí tối thiểu tính toán tổng thể" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "Chi phí tối đa tính toán tổng thể" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "Giá bán thấp nhất" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "Giá bán tối thiểu dựa trên phá giá" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "Giá bán cao nhất" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "Giá bán cao nhất dựa trên phá giá" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "Chi phí bán hàng tối thiểu" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "Giá bán hàng tối thiểu trong lịch sử" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "Giá bán hàng tối đa" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "Giá bán hàng tối đa trong lịch sử" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "Sản phẩm dành cho kiểm kê" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "Tổng số hàng" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "Số mục kho độc lậo tại thời điểm kiểm kê" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "Tống số kho tại thời điểm kiểm kê" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6352,686 +6382,686 @@ msgstr "Tống số kho tại thời điểm kiểm kê" msgid "Date" msgstr "Ngày" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "Kiểm kê đã thực hiện" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "Ghi chú bổ sung" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "Người dùng đã thực hiện đợt kiểm kê này" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "Chi phí kho tối thiểu" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "Chi phí kho tối thiểu ước tính của kho đang có" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "Chi phí kho tối đa" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "Chi phí kho tối đa ước tính của kho đang có" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Báo cáo" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "Tệp báo cáo kiểm kê (được sinh nội bộ)" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Bộ đếm sản phẩm" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "Số sản phẩm đã được bao quát bởi kiểm kê" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "Người dùng đã yêu cầu báo cáo kiểm kê này" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "Chỉ có thể tạo mẫu kiểm thử cho sản phẩm có thể theo dõi" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "Tên kiểm thử" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "Nhập tên cho kiểm thử" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "Mô tả kiểm thử" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "Nhập mô tả cho kiểm thử này" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Đã bật" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Bắt buộc" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "Kiểm thử này bắt buộc phải đạt?" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "Giá trị bắt buộc" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "Kiểm thử này yêu cầu 1 giá trị khi thêm một kết quả kiểm thử?" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "Yêu cầu đính kèm" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "Kiểm thử này yêu cầu tệp đính kèm khi thêm một kết quả kiểm thử?" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "Tham số hộp kiểm tra không thể có đơn vị" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "Tham số hộp kiểm tra không thể có lựa chọn" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "Lựa chọn phải duy nhất" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "Tên tham số mẫu phải là duy nhất" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "Tên tham số" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "Đơn vị vật lý cho tham số này" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "Mô tả tham số" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "Ô lựa chọn" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "Tham số này có phải là hộp kiểm tra?" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "Lựa chọn" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "Lựa chọn hợp lệ từ tham số này (ngăn cách bằng dấu phẩy)" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "Lựa chọn sai cho giá trị tham số" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "Sản phẩm cha" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Mẫu tham số" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "Dữ liệu" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "Giá trị tham số" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Giá trị mặc định" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "Giá trị tham số mặc định" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "Tên hoặc mã sản phẩm" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "Giá trị mã sản phẩm duy nhất" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "Giá trị IPN sản phẩm" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "Cấp độ" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "Cấp độ BOM" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "Chọn sản phẩm cha" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "Sản phẩm phụ" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "Chọn sản phẩm được dùng trong BOM" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "Số lượng BOM cho mục BOM này" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "Mục BOM này là tùy chọn" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Mục BOM này bị tiêu hao (không được theo dõi trong đơn đặt bản dựng)" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Dư thừa" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Số lượng bản dựng lãng phí ước tính (tuyệt đối hoặc phần trăm)" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "Tham chiếu mục BOM" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "Ghi chú mục BOM" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "Giá trị tổng kiểm" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "Giá trị tổng kiểm dòng BOM" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Đã xác minh" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "Mục BOM này là hợp lệ" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "Nhận thừa hưởng" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Mục BOM này được thừa kế bởi BOM cho sản phẩm biến thể" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Cho phép biến thể" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Hàng trong kho cho sản phẩm biến thể có thể được dùng bởi mục BOM này" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "Số lượng phải là giá trị nguyên dùng cho sản phẩm có thể theo dõi được" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "Sản phẩm phụ phải được chỉ định" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "Sảm phẩm thay thế mục BOM" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "Sản phẩm thay thế không thể giống sản phẩm chủ đạo" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "Hàng hóa BOM cha" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "Sản phẩm thay thế" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "Sản phẩm 1" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "Sản phẩm 2" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "Chọn sản phẩm liên quan" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "Không thể tạo mối quan hệ giữa một sản phẩm và chính nó" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "Đã tồn tại mối quan hệ trùng lặp" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Phụ mục" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 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:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "Chưa chọn sản phẩm" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "Chọn danh mục" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "Sản phẩm gốc" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "Chọn sản phẩm gốc để nhân bản" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "Sao chép ảnh" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "Sao chép hình ảnh từ sản phẩm gốc" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Sao chép BOM" -#: part/serializers.py:456 +#: part/serializers.py:457 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:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "Sao chép thông số" -#: part/serializers.py:463 +#: part/serializers.py:464 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:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "Sao chép ghi chú" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "Sao chép ghi chú từ sản phẩm gốc" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "Số liệu tồn kho ban đầu" -#: part/serializers.py:490 +#: part/serializers.py:491 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:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "Vị trí kho ban đầu" -#: part/serializers.py:498 +#: part/serializers.py:499 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:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "Chọn nhà cung cấp (hoặc để trống để bỏ qua)" -#: part/serializers.py:531 +#: part/serializers.py:532 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:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "Mã số nhà sản xuất" -#: part/serializers.py:548 +#: part/serializers.py:549 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:557 +#: part/serializers.py:558 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:568 +#: part/serializers.py:569 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:575 +#: part/serializers.py:576 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:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "Nhân bản sản phẩm" -#: part/serializers.py:874 +#: part/serializers.py:876 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:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Số liệu kho ban đầu" -#: part/serializers.py:881 +#: part/serializers.py:883 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:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "Thông tin nhà cung cấp" -#: part/serializers.py:888 +#: part/serializers.py:890 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:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "Sao chép thông số nhóm hàng" -#: part/serializers.py:897 +#: part/serializers.py:899 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:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "Ảnh hiện có" -#: part/serializers.py:903 +#: part/serializers.py:905 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:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "Tệp hình ảnh không tồn tại" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Hạn chế báo cáo kiểm kê với sản phẩm riêng biệt và sản phẩm biến thể bất kỳ" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Hạn chế báo cáo kiểm kê với danh mục sản phẩm riêng biệt và danh mục con bất kỳ" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Hạn chế báo cáo kiểm kê với vị trí kho riêng biệt và vị trí con bất kỳ" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "Ngoại trừ kho bên ngoài" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "Loại trừ hàng trong kho của vị trí bên ngoài" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "Tạo báo cáo" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "Tạo tệp báo cáo chứa dữ liệu kiểm kê đã tính toán" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "Cập nhật sản phẩm" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "Cập nhật sản phẩm cụ thể với dữ liệu kiểm kê đã tính" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "Chức năng kiểm kê chưa được bật" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "Giá trị tính toán ghi đè cho giá tối thiểu" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "Tiền tế giá tối thiểu" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "Giá trị tính toán ghi đè cho giá tối đa" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "Tiền tế giá tối đa" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "Cập nhật" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "Cập nhật giá cho sản phẩm này" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, 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:1361 +#: part/serializers.py:1363 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:1364 +#: part/serializers.py:1366 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:1731 +#: part/serializers.py:1733 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:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "Xóa dữ liệu đã tồn tại" -#: part/serializers.py:1740 +#: part/serializers.py:1742 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:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "Bao gồm thừa hưởng" -#: part/serializers.py:1746 +#: part/serializers.py:1748 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:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "Bỏ qua dòng không hợp lệ" -#: part/serializers.py:1752 +#: part/serializers.py:1754 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:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "Sao chép sản phẩm thay thế" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "Sao chép sản phẩm thay thế khi nhân bản hàng hóa BOM" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "Dọn dẹp BOM đang tồn tại" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "Xóa mục BOM đang tồn tại trước khi tải lên" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "Chưa chỉ ra cột sản phẩm" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "Tìm thấy nhiều sản phẩm phù hợp" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "Không tìm thấy sản phẩm nào" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "Sản phẩm không được chỉ định như là một thành phần" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "Chưa cung cấp số lượng" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "Số lượng không hợp lệ" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "Buộc phải nhập ít nhất một mục BOM" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "Tổng số lượng" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "Tổng chi phí tối thiểu" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "Tổng chi phí tối đa" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "Báo cáo kiểm kê có sẵn" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "Có sẵn một báo cáo kiểm kê mới để tải về" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "Thông báo sắp hết hàng" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Kho có sẵn cho {part.name} đã mất dưới mức cấu hình tối thiểu" @@ -7257,15 +7287,15 @@ msgstr "Nhà cung cấp sản phẩm" msgid "Part Manufacturers" msgstr "Nhà sản xuất sản phẩm" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8314,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "Chưa cung cấp đối tượng hợp lệ cho bản mẫu" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8330,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "Tệp mẫu '{template}' đang bị lỗi hoặc không tồn tại" @@ -8838,7 +8868,7 @@ msgstr "Bạn không thể chuyển đổi vị trí kho hàng này thành cấu 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:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 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" @@ -8883,7 +8913,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:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "Đóng gói hàng hóa này được lưu trữ lại" @@ -8895,7 +8925,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:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "Mã lô cho hàng trong kho này" @@ -8972,7 +9002,7 @@ msgstr "Số sêri phải là một danh sách dãy số nguyên" msgid "Quantity does not match serial numbers" msgstr "Số lượng không khớp với số sêri" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "Số sêri đã tồn tại" @@ -9004,7 +9034,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:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "Mặt hàng trùng lặp" @@ -9128,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "Số sêri quá lớn" -#: stock/serializers.py:411 +#: stock/serializers.py:414 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:531 +#: stock/serializers.py:534 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:593 +#: stock/serializers.py:596 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:606 +#: stock/serializers.py:609 #, 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:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "Điền số sêri cho hàng hóa mới" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "Vị trí kho đích" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "Trường ghi chú tùy chọn" -#: stock/serializers.py:641 +#: stock/serializers.py:644 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:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "Chọn mặt hàng để lắp đặt" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "Số lượng để cài đặt" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "Nhập số lượng hàng hóa để cài đặt" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "Thêm ghi chú giao dịch (tùy chọn)" -#: stock/serializers.py:717 +#: stock/serializers.py:720 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:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "Mặt hàng không khả dụng" -#: stock/serializers.py:736 +#: stock/serializers.py:739 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:749 +#: stock/serializers.py:752 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:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "Vị trí đích cho hàng hóa bị gỡ bỏ" -#: stock/serializers.py:819 +#: stock/serializers.py:822 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:832 +#: stock/serializers.py:835 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:849 +#: stock/serializers.py:852 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:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "Vị trí đích dành cho hàng hóa trả lại" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "Chọn mặt hàng để đổi trạng thái" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "Không có mặt hàng nào được chọn" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Kho phụ" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "Sản phẩm phải có thể bán được" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 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:1206 +#: stock/serializers.py:1209 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:1230 +#: stock/serializers.py:1233 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:1236 +#: stock/serializers.py:1239 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:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "Ghi chú phân bổ kho" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 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:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "Ghi chú gộp kho" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "Cho phép nhiều nhà cung không khớp" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 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:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "Cho phép trạng thái không khớp" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 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:1355 +#: stock/serializers.py:1358 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:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "Giá trị khóa chính mặt hàng" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "Mã trạng thái mặt hàng" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "Ghi chú giao dịch kho" @@ -9450,7 +9480,7 @@ msgstr "Thông tin kiểm thử" msgid "Test Report" msgstr "Báo cáo kiểm thử" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "Xóa dữ liệu báo cáo kiểm thử" @@ -9470,11 +9500,11 @@ msgstr "Hàng hóa đã lắp đặt" msgid "Install Stock Item" msgstr "Lắp đặt hàng hóa trong kho" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "Xóa toàn bộ kết quả kiểm thử cho kho hàng này" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10205,20 +10235,20 @@ msgstr "Cài đặt đơn đặt mua" msgid "Pricing Settings" msgstr "Cài đặt định giá" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "Tỷ giá hối đoái" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "Cập nhật ngay" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "Lần cập nhật gần nhất" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "Chưa bao giờ" @@ -10711,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "Gửi báo cáo lỗi" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "sao chép đến bảng tạm" @@ -14340,3 +14370,4 @@ msgstr "Quyển để sửa mục" #: users/models.py:413 msgid "Permission to delete items" msgstr "Quyền để xóa mục" + diff --git a/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po index 8f153ad6c2..278837120d 100644 --- a/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" -"PO-Revision-Date: 2024-05-27 11:54\n" +"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Language: zh_TW\n" @@ -56,18 +56,18 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 @@ -409,10 +409,10 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -426,7 +426,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "" @@ -440,10 +440,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -487,9 +487,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -508,13 +508,13 @@ msgid "Name" msgstr "" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -557,136 +557,136 @@ msgstr "" msgid "Path" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:63 part/models.py:4203 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1180 msgid "Background worker check failed" msgstr "" @@ -750,14 +750,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -778,7 +778,7 @@ msgstr "" msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 @@ -830,7 +830,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -860,11 +860,11 @@ msgstr "" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,8 +875,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -962,8 +962,8 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -972,8 +972,8 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1005,10 +1005,10 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1043,7 +1043,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1084,9 +1084,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1109,10 +1109,10 @@ msgstr "" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1122,7 +1122,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1183,9 +1183,9 @@ msgstr "" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1250,8 +1250,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" @@ -1261,10 +1261,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1326,8 +1326,8 @@ msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1399,7 +1399,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "" @@ -1435,11 +1435,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "" @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,7 +1506,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:834 part/serializers.py:1508 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1514,13 +1514,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1510 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1894,11 +1894,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "" @@ -1914,6 +1914,22 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "" + #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1952,351 +1968,346 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:71 +#: common/models.py:69 msgid "Updated" msgstr "" -#: common/models.py:72 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "" -#: common/models.py:105 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "" -#: common/models.py:137 +#: common/models.py:135 msgid "Project description" msgstr "" -#: common/models.py:146 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:766 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:770 +#: common/models.py:768 msgid "Settings value" msgstr "" -#: common/models.py:822 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:838 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:846 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "" -#: common/models.py:883 +#: common/models.py:881 msgid "Key string must be unique" msgstr "" -#: common/models.py:1115 +#: common/models.py:1113 msgid "No group" msgstr "" -#: common/models.py:1158 -msgid "An empty domain is not allowed." -msgstr "" - -#: common/models.py:1160 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "" - -#: common/models.py:1172 -msgid "No plugin" -msgstr "" - -#: common/models.py:1260 +#: common/models.py:1212 msgid "Restart required" msgstr "" -#: common/models.py:1262 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1269 +#: common/models.py:1221 msgid "Pending migrations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1275 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "" -#: common/models.py:1277 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1281 +#: common/models.py:1233 msgid "Use instance name" msgstr "" -#: common/models.py:1282 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1287 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1288 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1294 +#: common/models.py:1246 msgid "Internal company name" msgstr "" -#: common/models.py:1298 +#: common/models.py:1250 msgid "Base URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1305 +#: common/models.py:1257 msgid "Default Currency" msgstr "" -#: common/models.py:1306 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1312 +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1314 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "" -#: common/models.py:1321 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1322 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1327 +#: common/models.py:1286 msgid "Download from URL" msgstr "" -#: common/models.py:1329 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1335 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "" -#: common/models.py:1336 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1342 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1344 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1350 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1355 +#: common/models.py:1314 msgid "Require confirm" msgstr "" -#: common/models.py:1356 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1361 +#: common/models.py:1320 msgid "Tree Depth" msgstr "" -#: common/models.py:1363 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1369 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "" -#: common/models.py:1370 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1376 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "" -#: common/models.py:1377 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1382 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1383 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1389 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1391 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1398 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1400 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1407 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1409 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1417 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1422 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1423 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1429 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1430 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1435 +#: common/models.py:1394 msgid "Part Revisions" msgstr "" -#: common/models.py:1436 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1442 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1406 msgid "IPN Regex" msgstr "" -#: common/models.py:1448 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1452 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1457 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1458 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1463 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1464 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1469 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1470 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1475 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1476 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1481 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1482 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1446 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2304,1129 +2315,1129 @@ msgstr "" msgid "Template" msgstr "" -#: common/models.py:1488 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1494 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1500 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "" -#: common/models.py:1506 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1512 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1518 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1524 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1529 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "" -#: common/models.py:1530 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1535 +#: common/models.py:1494 msgid "Show related parts" msgstr "" -#: common/models.py:1536 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1541 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1549 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1555 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1556 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "" -#: common/models.py:1562 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1563 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1567 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1569 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1575 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1577 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1583 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1585 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1591 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1593 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1599 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "" -#: common/models.py:1601 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1607 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1609 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1615 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1617 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1624 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1625 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1630 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "" -#: common/models.py:1632 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1640 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1647 +#: common/models.py:1616 msgid "Internal Prices" msgstr "" -#: common/models.py:1648 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1653 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "" -#: common/models.py:1655 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1661 +#: common/models.py:1630 msgid "Enable label printing" msgstr "" -#: common/models.py:1662 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1667 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "" -#: common/models.py:1669 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1675 +#: common/models.py:1644 msgid "Enable Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1682 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1687 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "" -#: common/models.py:1688 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1694 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1699 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1705 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1713 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1714 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1719 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1720 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1725 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1727 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "" -#: common/models.py:1735 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1740 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "" -#: common/models.py:1741 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1746 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1747 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1752 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1754 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1761 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1762 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1768 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1773 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1774 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1778 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1784 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1802 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1823 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1828 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1830 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1852 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1864 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1865 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1870 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1872 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1878 +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1880 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1902 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1908 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "" -#: common/models.py:1918 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1923 +#: common/models.py:1892 msgid "Enable registration" msgstr "" -#: common/models.py:1924 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1929 +#: common/models.py:1898 msgid "Enable SSO" msgstr "" -#: common/models.py:1930 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1935 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1937 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1943 +#: common/models.py:1912 msgid "Email required" msgstr "" -#: common/models.py:1944 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1949 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1951 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1957 +#: common/models.py:1926 msgid "Mail twice" msgstr "" -#: common/models.py:1958 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1963 +#: common/models.py:1932 msgid "Password twice" msgstr "" -#: common/models.py:1964 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1969 +#: common/models.py:1938 msgid "Allowed domains" msgstr "" -#: common/models.py:1971 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1977 +#: common/models.py:1946 msgid "Group on signup" msgstr "" -#: common/models.py:1978 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1983 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "" -#: common/models.py:1984 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1989 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1991 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1999 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "" -#: common/models.py:2007 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2013 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2014 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2020 +#: common/models.py:1989 msgid "Enable app integration" msgstr "" -#: common/models.py:2021 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2027 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2028 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2034 +#: common/models.py:2003 msgid "Enable event integration" msgstr "" -#: common/models.py:2035 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2041 +#: common/models.py:2010 msgid "Enable project codes" msgstr "" -#: common/models.py:2042 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2049 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2055 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2057 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2063 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2065 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2071 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2080 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2142 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2144 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2151 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2156 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2157 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2162 +#: common/models.py:2131 msgid "Show latest parts" msgstr "" -#: common/models.py:2163 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2168 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2175 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2149 msgid "Show low stock" msgstr "" -#: common/models.py:2181 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "" -#: common/models.py:2187 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2161 msgid "Show needed stock" msgstr "" -#: common/models.py:2193 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2167 msgid "Show expired stock" msgstr "" -#: common/models.py:2199 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2173 msgid "Show stale stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2179 msgid "Show pending builds" msgstr "" -#: common/models.py:2211 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "" -#: common/models.py:2217 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2223 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "" -#: common/models.py:2229 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2235 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2247 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2221 msgid "Show News" msgstr "" -#: common/models.py:2253 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2227 msgid "Inline label display" msgstr "" -#: common/models.py:2260 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2266 +#: common/models.py:2235 msgid "Default label printer" msgstr "" -#: common/models.py:2268 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2274 +#: common/models.py:2243 msgid "Inline report display" msgstr "" -#: common/models.py:2276 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2282 +#: common/models.py:2251 msgid "Search Parts" msgstr "" -#: common/models.py:2283 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2288 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2289 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2294 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2295 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2300 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2301 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2306 +#: common/models.py:2275 msgid "Search Categories" msgstr "" -#: common/models.py:2307 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2281 msgid "Search Stock" msgstr "" -#: common/models.py:2313 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2320 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2326 +#: common/models.py:2295 msgid "Search Locations" msgstr "" -#: common/models.py:2327 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2332 +#: common/models.py:2301 msgid "Search Companies" msgstr "" -#: common/models.py:2333 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2338 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "" -#: common/models.py:2339 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2344 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2345 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2352 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2359 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2366 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "" -#: common/models.py:2373 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "" -#: common/models.py:2388 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2394 +#: common/models.py:2363 msgid "Regex Search" msgstr "" -#: common/models.py:2395 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2407 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2412 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2413 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2418 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2419 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2424 +#: common/models.py:2393 msgid "Date Format" msgstr "" -#: common/models.py:2425 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2439 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2446 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2452 +#: common/models.py:2421 msgid "Table String Length" msgstr "" -#: common/models.py:2454 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2429 msgid "Default part label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2435 msgid "Default stock item template" msgstr "" -#: common/models.py:2468 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "" -#: common/models.py:2476 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2484 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3434,24 +3445,24 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2548 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "" -#: common/models.py:2720 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2730 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3462,101 +3473,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2734 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2751 +#: common/models.py:2644 msgid "Token for access" msgstr "" -#: common/models.py:2759 +#: common/models.py:2652 msgid "Secret" msgstr "" -#: common/models.py:2760 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2868 +#: common/models.py:2761 msgid "Message ID" msgstr "" -#: common/models.py:2869 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2877 +#: common/models.py:2770 msgid "Host" msgstr "" -#: common/models.py:2878 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2886 +#: common/models.py:2779 msgid "Header" msgstr "" -#: common/models.py:2887 +#: common/models.py:2780 msgid "Header of this message" msgstr "" -#: common/models.py:2894 +#: common/models.py:2787 msgid "Body" msgstr "" -#: common/models.py:2895 +#: common/models.py:2788 msgid "Body of this message" msgstr "" -#: common/models.py:2905 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2910 +#: common/models.py:2803 msgid "Worked on" msgstr "" -#: common/models.py:2911 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3037 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Read" msgstr "" -#: common/models.py:3050 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3566,31 +3577,39 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3067 +#: common/models.py:2960 msgid "Image file" msgstr "" -#: common/models.py:3109 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3128 +#: common/models.py:3036 msgid "Unit name" msgstr "" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3136 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3688,6 +3707,23 @@ msgstr "" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "" + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3918,7 +3954,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -3929,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,7 +3980,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -3989,7 +4025,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4015,7 +4051,7 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4032,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "" @@ -4053,26 +4089,26 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4097,7 +4133,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "" @@ -4117,11 +4153,11 @@ msgstr "" msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4194,7 +4230,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4405,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:838 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4505,7 +4541,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4555,10 +4591,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:837 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4712,7 +4748,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4770,11 +4806,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +4995,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5021,8 +5057,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" @@ -5070,7 +5106,7 @@ msgstr "" msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5144,7 +5180,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5153,163 +5189,163 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5735,34 +5771,34 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5771,11 +5807,11 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5787,11 +5823,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5804,12 +5840,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5827,8 +5863,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1280 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1295 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5943,8 +5979,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1136 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -5952,16 +5988,16 @@ msgstr "" msgid "Category" msgstr "" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:839 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5970,371 +6006,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:922 +#: part/models.py:923 msgid "Part description (optional)" msgstr "" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "" -#: part/models.py:1140 +#: part/models.py:1141 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6346,686 +6382,686 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3500 +#: part/models.py:3491 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 msgid "Choices must be unique" msgstr "" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4118 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:408 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:470 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:840 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:842 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:845 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:875 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:876 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:882 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:883 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:889 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:898 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:904 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:922 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1128 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1138 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1148 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1154 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1160 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1166 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1175 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1281 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1288 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1296 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1303 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1332 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1356 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1363 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1366 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1733 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1741 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1747 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1753 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1759 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1794 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1825 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1869 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1872 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1875 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1884 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1892 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1913 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -7251,15 +7287,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -8308,15 +8344,15 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8324,31 +8360,31 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 msgid "Plugin not found" msgstr "" -#: report/api.py:170 +#: report/api.py:182 msgid "Plugin is not active" msgstr "" -#: report/api.py:172 +#: report/api.py:184 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:221 +#: report/api.py:233 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" msgstr "" -#: report/api.py:271 +#: report/api.py:283 msgid "Error printing label" msgstr "" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -8832,7 +8868,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8877,7 +8913,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" @@ -8889,7 +8925,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" @@ -8966,7 +9002,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" @@ -8998,7 +9034,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9122,176 +9158,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "" @@ -9444,7 +9480,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "" @@ -9464,11 +9500,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10199,20 +10235,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "" @@ -10705,7 +10741,7 @@ msgid "Submit Bug Report" msgstr "" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "" @@ -14334,3 +14370,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po index 618a19ae01..c9e7d3c8ca 100644 --- a/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-31 07:08+0000\n" +"POT-Creation-Date: 2024-06-03 11:39+0000\n" "PO-Revision-Date: 2023-02-28 22:38\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" @@ -68,7 +68,7 @@ msgstr "输入日期" #: order/models.py:1332 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 #: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 @@ -428,10 +428,10 @@ msgstr "附件" msgid "Select file to attach" msgstr "选择附件" -#: InvenTree/models.py:581 common/models.py:3041 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2938 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:962 +#: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 @@ -445,7 +445,7 @@ msgstr "选择附件" msgid "Link" msgstr "链接" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:963 +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 #: stock/models.py:836 msgid "Link to external URL" msgstr "链接到外部 URL" @@ -459,10 +459,10 @@ msgstr "注释" msgid "File comment" msgstr "文件注释" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2517 -#: common/models.py:2518 common/models.py:2742 common/models.py:2743 -#: common/models.py:2988 common/models.py:2989 part/models.py:3228 -#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2490 +#: common/models.py:2491 common/models.py:2639 common/models.py:2640 +#: common/models.py:2885 common/models.py:2886 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -506,9 +506,9 @@ msgstr "" msgid "Invalid choice" msgstr "选择无效" -#: InvenTree/models.py:907 common/models.py:2729 common/models.py:3127 +#: InvenTree/models.py:907 common/models.py:2626 common/models.py:3024 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: part/models.py:899 part/models.py:3650 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -527,13 +527,13 @@ msgid "Name" msgstr "名称" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:136 +#: build/templates/build/detail.html:24 common/models.py:135 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:921 -#: part/models.py:3674 part/templates/part/category.html:82 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3665 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -610,12 +610,12 @@ msgstr "服务器错误" msgid "An error has been logged by the server." msgstr "服务器记录了一个错误。" -#: InvenTree/serializers.py:62 part/models.py:4212 +#: InvenTree/serializers.py:62 part/models.py:4203 msgid "Must be a valid number" msgstr "必须是有效数字" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3036 +#: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -711,7 +711,7 @@ msgstr "远程图像文件的 URL" msgid "Downloading images from remote URL is not enabled" msgstr "未启用从远程 URL下载图像" -#: InvenTree/status.py:66 part/serializers.py:1178 +#: InvenTree/status.py:66 part/serializers.py:1179 msgid "Background worker check failed" msgstr "后台工作人员检查失败" @@ -777,14 +777,14 @@ msgstr "关于 InventTree" msgid "Build must be cancelled before it can be deleted" msgstr "在删除前必须取消生产" -#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -859,7 +859,7 @@ msgstr "相关生产订单" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4105 part/templates/part/upload_bom.html:54 +#: part/models.py:4096 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -891,11 +891,11 @@ msgstr "此次生产匹配的订单" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 -#: part/models.py:3191 part/models.py:3335 part/models.py:3358 -#: part/models.py:3379 part/models.py:3401 part/models.py:3511 -#: part/models.py:3807 part/models.py:3963 part/models.py:4056 -#: part/models.py:4417 part/serializers.py:1124 part/serializers.py:1730 +#: part/api.py:1501 part/api.py:1795 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3502 +#: part/models.py:3798 part/models.py:3954 part/models.py:4047 +#: part/models.py:4408 part/serializers.py:1125 part/serializers.py:1731 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1004,7 +1004,7 @@ msgid "Batch code for this build output" msgstr "此生产产出的批量代码" #: build/models.py:307 order/models.py:316 order/serializers.py:120 -#: part/models.py:1122 part/templates/part/part_base.html:310 +#: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" @@ -1036,10 +1036,10 @@ msgid "User who issued this build order" msgstr "发布此生产订单的用户" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:145 +#: build/templates/build/detail.html:122 common/models.py:144 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1139 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1074,7 +1074,7 @@ msgstr "创建优先级" msgid "Priority of this build order" msgstr "此构建订单的优先级" -#: build/models.py:359 common/models.py:129 order/admin.py:18 +#: build/models.py:359 common/models.py:128 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1120,7 +1120,7 @@ msgstr "生产产出与订单不匹配" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1488 part/serializers.py:1888 +#: order/serializers.py:576 part/serializers.py:1489 part/serializers.py:1889 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "数量必须大于0" @@ -1150,10 +1150,10 @@ msgstr "生产备注" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2539 +#: build/templates/build/detail.html:34 common/models.py:2512 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3205 part/models.py:4078 +#: part/forms.py:48 part/models.py:3196 part/models.py:4069 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1307,7 +1307,7 @@ msgstr "输入生产产出的序列号" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1144 stock/serializers.py:101 stock/serializers.py:623 +#: part/serializers.py:1145 stock/serializers.py:101 stock/serializers.py:623 #: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 #: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1559,7 +1559,7 @@ msgstr "分配可选的BOM项目来建立订单" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3973 part/models.py:4409 +#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 #: stock/api.py:794 msgid "BOM Item" msgstr "BOM项" @@ -1569,7 +1569,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:832 part/serializers.py:1506 +#: part/serializers.py:833 part/serializers.py:1507 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1577,13 +1577,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1508 +#: build/serializers.py:1159 part/serializers.py:1509 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "正在生产" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1531 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1532 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1993,6 +1993,30 @@ msgstr "生产订单详情" msgid "Incomplete Outputs" msgstr "未完成输出" +#: common/currency.py:132 +#, fuzzy +#| msgid "Not a valid currency code" +msgid "Invalid currency code" +msgstr "不是有效的货币代码" + +#: common/currency.py:134 +#, fuzzy +#| msgid "Not a valid currency code" +msgid "Duplicate currency code" +msgstr "不是有效的货币代码" + +#: common/currency.py:139 +#, fuzzy +#| msgid "Not a valid currency code" +msgid "No valid currency codes provided" +msgstr "不是有效的货币代码" + +#: common/currency.py:153 +#, fuzzy +#| msgid "Subcategories" +msgid "No plugin" +msgstr "子类别" + #: common/files.py:63 #, fuzzy, python-brace-format #| msgid "Unsupported file format: {ext.upper()}" @@ -2032,367 +2056,371 @@ msgstr "{name.title()} 文件" msgid "Select {name} file to upload" msgstr "选择 {name} 文件上传" -#: common/models.py:71 +#: common/models.py:70 msgid "Updated" msgstr "已更新" -#: common/models.py:72 +#: common/models.py:71 msgid "Timestamp of last update" msgstr "最后一次更新时间" -#: common/models.py:105 +#: common/models.py:104 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:130 +#: common/models.py:129 msgid "Unique project code" msgstr "" -#: common/models.py:137 +#: common/models.py:136 #, fuzzy #| msgid "Part description" msgid "Project description" msgstr "商品描述" -#: common/models.py:146 +#: common/models.py:145 #, fuzzy #| msgid "User or group responsible for this order" msgid "User or group responsible for this project" msgstr "负责此订单的用户或群组" -#: common/models.py:766 +#: common/models.py:765 msgid "Settings key (must be unique - case insensitive)" msgstr "设置键值(必须是唯一的 - 大小写不敏感)" -#: common/models.py:770 +#: common/models.py:769 msgid "Settings value" msgstr "设定值" -#: common/models.py:822 +#: common/models.py:821 msgid "Chosen value is not a valid option" msgstr "选择的值不是一个有效的选项" -#: common/models.py:838 +#: common/models.py:837 msgid "Value must be a boolean value" msgstr "值必须是布尔量" -#: common/models.py:846 +#: common/models.py:845 msgid "Value must be an integer value" msgstr "值必须为整数" -#: common/models.py:883 +#: common/models.py:882 msgid "Key string must be unique" msgstr "关键字必须是唯一的" -#: common/models.py:1115 +#: common/models.py:1114 msgid "No group" msgstr "无群组" -#: common/models.py:1158 +#: common/models.py:1157 msgid "An empty domain is not allowed." msgstr "不允许空域。" -#: common/models.py:1160 +#: common/models.py:1159 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "无效的域名: {domain}" -#: common/models.py:1172 -#, fuzzy -#| msgid "Subcategories" -msgid "No plugin" -msgstr "子类别" - -#: common/models.py:1260 +#: common/models.py:1226 msgid "Restart required" msgstr "需要重启" -#: common/models.py:1262 +#: common/models.py:1228 msgid "A setting has been changed which requires a server restart" msgstr "设置已更改,需要服务器重启" -#: common/models.py:1269 +#: common/models.py:1235 #, fuzzy #| msgid "Printing Actions" msgid "Pending migrations" msgstr "打印操作" -#: common/models.py:1270 +#: common/models.py:1236 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1275 +#: common/models.py:1241 msgid "Server Instance Name" msgstr "服务器实例名称" -#: common/models.py:1277 +#: common/models.py:1243 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1281 +#: common/models.py:1247 msgid "Use instance name" msgstr "" -#: common/models.py:1282 +#: common/models.py:1248 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1287 +#: common/models.py:1253 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1288 +#: common/models.py:1254 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1293 company/models.py:108 company/models.py:109 +#: common/models.py:1259 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "公司名称" -#: common/models.py:1294 +#: common/models.py:1260 msgid "Internal company name" msgstr "内部公司名称" -#: common/models.py:1298 +#: common/models.py:1264 msgid "Base URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1265 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1305 +#: common/models.py:1271 msgid "Default Currency" msgstr "" -#: common/models.py:1306 +#: common/models.py:1272 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1312 +#: common/models.py:1278 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1279 +#, fuzzy +#| msgid "Not a valid currency code" +msgid "List of supported currency codes" +msgstr "不是有效的货币代码" + +#: common/models.py:1285 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1314 +#: common/models.py:1287 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1317 common/models.py:1373 common/models.py:1386 -#: common/models.py:1394 common/models.py:1403 common/models.py:1412 -#: common/models.py:1620 common/models.py:1642 common/models.py:1757 -#: common/models.py:2076 +#: common/models.py:1290 common/models.py:1346 common/models.py:1359 +#: common/models.py:1367 common/models.py:1376 common/models.py:1385 +#: common/models.py:1593 common/models.py:1615 common/models.py:1730 +#: common/models.py:2049 msgid "days" msgstr "天" -#: common/models.py:1321 +#: common/models.py:1294 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1322 +#: common/models.py:1295 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1327 +#: common/models.py:1300 msgid "Download from URL" msgstr "" -#: common/models.py:1329 +#: common/models.py:1302 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1335 +#: common/models.py:1308 msgid "Download Size Limit" msgstr "" -#: common/models.py:1336 +#: common/models.py:1309 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1342 +#: common/models.py:1315 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1344 +#: common/models.py:1317 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1322 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1350 +#: common/models.py:1323 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1355 +#: common/models.py:1328 msgid "Require confirm" msgstr "" -#: common/models.py:1356 +#: common/models.py:1329 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1361 +#: common/models.py:1334 msgid "Tree Depth" msgstr "" -#: common/models.py:1363 +#: common/models.py:1336 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1369 +#: common/models.py:1342 msgid "Update Check Interval" msgstr "" -#: common/models.py:1370 +#: common/models.py:1343 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1376 +#: common/models.py:1349 msgid "Automatic Backup" msgstr "" -#: common/models.py:1377 +#: common/models.py:1350 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1382 +#: common/models.py:1355 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1383 +#: common/models.py:1356 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1389 +#: common/models.py:1362 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1391 +#: common/models.py:1364 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1398 +#: common/models.py:1371 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1400 +#: common/models.py:1373 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1407 +#: common/models.py:1380 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1409 +#: common/models.py:1382 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1416 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1389 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1417 +#: common/models.py:1390 #, fuzzy #| msgid "Enable barcode scanner support" msgid "Enable barcode scanner support in the web interface" msgstr "启用条形码扫描支持" -#: common/models.py:1422 +#: common/models.py:1395 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1423 +#: common/models.py:1396 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1429 +#: common/models.py:1402 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1430 +#: common/models.py:1403 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1435 +#: common/models.py:1408 #, fuzzy #| msgid "Part description" msgid "Part Revisions" msgstr "商品描述" -#: common/models.py:1436 +#: common/models.py:1409 #, fuzzy #| msgid "Enable internal prices for parts" msgid "Enable revision field for Part" msgstr "启用内部商品价格" -#: common/models.py:1441 +#: common/models.py:1414 #, fuzzy #| msgid "Removed from assembly" msgid "Allow Deletion from Assembly" msgstr "已从组装中删除" -#: common/models.py:1442 +#: common/models.py:1415 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1447 +#: common/models.py:1420 msgid "IPN Regex" msgstr "" -#: common/models.py:1448 +#: common/models.py:1421 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1424 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1452 +#: common/models.py:1425 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1457 +#: common/models.py:1430 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1458 +#: common/models.py:1431 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1463 +#: common/models.py:1436 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1464 +#: common/models.py:1437 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1469 +#: common/models.py:1442 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1470 +#: common/models.py:1443 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1475 +#: common/models.py:1448 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1476 +#: common/models.py:1449 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1481 +#: common/models.py:1454 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1482 +#: common/models.py:1455 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1487 part/admin.py:108 part/models.py:3815 +#: common/models.py:1460 part/admin.py:108 part/models.py:3806 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2400,1171 +2428,1171 @@ msgstr "" msgid "Template" msgstr "模板" -#: common/models.py:1488 +#: common/models.py:1461 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1493 part/admin.py:91 part/admin.py:433 part/models.py:1059 +#: common/models.py:1466 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "组装" -#: common/models.py:1494 +#: common/models.py:1467 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1499 part/admin.py:95 part/models.py:1065 +#: common/models.py:1472 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "组件" -#: common/models.py:1500 +#: common/models.py:1473 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1505 part/admin.py:100 part/models.py:1077 +#: common/models.py:1478 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "可购买" -#: common/models.py:1506 +#: common/models.py:1479 msgid "Parts are purchaseable by default" msgstr "商品默认可购买" -#: common/models.py:1511 part/admin.py:104 part/models.py:1083 +#: common/models.py:1484 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "可销售" -#: common/models.py:1512 +#: common/models.py:1485 msgid "Parts are salable by default" msgstr "商品默认可销售" -#: common/models.py:1517 part/admin.py:113 part/models.py:1071 +#: common/models.py:1490 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "可追踪" -#: common/models.py:1518 +#: common/models.py:1491 msgid "Parts are trackable by default" msgstr "商品默认可跟踪" -#: common/models.py:1523 part/admin.py:117 part/models.py:1093 +#: common/models.py:1496 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "虚拟" -#: common/models.py:1524 +#: common/models.py:1497 msgid "Parts are virtual by default" msgstr "商品默认是虚拟的" -#: common/models.py:1529 +#: common/models.py:1502 msgid "Show Import in Views" msgstr "视图中显示导入" -#: common/models.py:1530 +#: common/models.py:1503 msgid "Display the import wizard in some part views" msgstr "在一些商品视图中显示导入向导" -#: common/models.py:1535 +#: common/models.py:1508 msgid "Show related parts" msgstr "显示相关商品" -#: common/models.py:1536 +#: common/models.py:1509 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1541 +#: common/models.py:1514 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1515 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1547 templates/js/translated/part.js:107 +#: common/models.py:1520 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1549 +#: common/models.py:1522 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1555 +#: common/models.py:1528 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1556 +#: common/models.py:1529 msgid "Format to display the part name" msgstr "" -#: common/models.py:1562 +#: common/models.py:1535 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1563 +#: common/models.py:1536 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1567 +#: common/models.py:1540 #, fuzzy #| msgid "Parameter units" msgid "Enforce Parameter Units" msgstr "参数单位" -#: common/models.py:1569 +#: common/models.py:1542 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1575 +#: common/models.py:1548 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1577 +#: common/models.py:1550 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1583 +#: common/models.py:1556 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1585 +#: common/models.py:1558 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1591 +#: common/models.py:1564 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1593 +#: common/models.py:1566 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1599 +#: common/models.py:1572 msgid "Purchase History Override" msgstr "" -#: common/models.py:1601 +#: common/models.py:1574 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1607 +#: common/models.py:1580 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1609 +#: common/models.py:1582 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1615 +#: common/models.py:1588 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1617 +#: common/models.py:1590 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1624 +#: common/models.py:1597 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1625 +#: common/models.py:1598 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1630 +#: common/models.py:1603 msgid "Active Variants Only" msgstr "" -#: common/models.py:1632 +#: common/models.py:1605 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1611 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1640 +#: common/models.py:1613 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1647 +#: common/models.py:1620 msgid "Internal Prices" msgstr "内部价格" -#: common/models.py:1648 +#: common/models.py:1621 msgid "Enable internal prices for parts" msgstr "启用内部商品价格" -#: common/models.py:1653 +#: common/models.py:1626 msgid "Internal Price Override" msgstr "" -#: common/models.py:1655 +#: common/models.py:1628 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1661 +#: common/models.py:1634 msgid "Enable label printing" msgstr "" -#: common/models.py:1662 +#: common/models.py:1635 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1667 +#: common/models.py:1640 msgid "Label Image DPI" msgstr "" -#: common/models.py:1669 +#: common/models.py:1642 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1675 +#: common/models.py:1648 msgid "Enable Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1649 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1681 templates/stats.html:25 +#: common/models.py:1654 templates/stats.html:25 msgid "Debug Mode" msgstr "调试模式" -#: common/models.py:1682 +#: common/models.py:1655 msgid "Generate reports in debug mode (HTML output)" msgstr "在调试模式生成报告(HTML输出)" -#: common/models.py:1687 +#: common/models.py:1660 #, fuzzy #| msgid "No Reports Found" msgid "Log Report Errors" msgstr "没有找到报表" -#: common/models.py:1688 +#: common/models.py:1661 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1693 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1666 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "页面大小" -#: common/models.py:1694 +#: common/models.py:1667 msgid "Default page size for PDF reports" msgstr "PDF 报表默认页面大小" -#: common/models.py:1699 +#: common/models.py:1672 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1673 msgid "Enable generation of test reports" msgstr "启用生成测试报表" -#: common/models.py:1705 +#: common/models.py:1678 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1680 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1713 +#: common/models.py:1686 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1714 +#: common/models.py:1687 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1719 +#: common/models.py:1692 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1720 +#: common/models.py:1693 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1725 +#: common/models.py:1698 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1727 +#: common/models.py:1700 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1733 +#: common/models.py:1706 msgid "Batch Code Template" msgstr "" -#: common/models.py:1735 +#: common/models.py:1708 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1740 +#: common/models.py:1713 msgid "Stock Expiry" msgstr "库存到期" -#: common/models.py:1741 +#: common/models.py:1714 msgid "Enable stock expiry functionality" msgstr "启用库存到期功能" -#: common/models.py:1746 +#: common/models.py:1719 msgid "Sell Expired Stock" msgstr "销售过期库存" -#: common/models.py:1747 +#: common/models.py:1720 msgid "Allow sale of expired stock" msgstr "允许销售过期库存" -#: common/models.py:1752 +#: common/models.py:1725 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1754 +#: common/models.py:1727 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1761 +#: common/models.py:1734 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1762 +#: common/models.py:1735 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1740 msgid "Stock Ownership Control" msgstr "库存所有权控制" -#: common/models.py:1768 +#: common/models.py:1741 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1773 +#: common/models.py:1746 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1774 +#: common/models.py:1747 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1778 +#: common/models.py:1751 #, fuzzy #| msgid "Select Stock Items" msgid "Show Installed Stock Items" msgstr "选择库存项" -#: common/models.py:1779 +#: common/models.py:1752 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1784 +#: common/models.py:1757 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1759 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1792 +#: common/models.py:1765 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1794 +#: common/models.py:1767 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1800 +#: common/models.py:1773 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1802 +#: common/models.py:1775 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1808 common/models.py:1836 common/models.py:1858 -#: common/models.py:1894 +#: common/models.py:1781 common/models.py:1809 common/models.py:1831 +#: common/models.py:1867 #, fuzzy #| msgid "Responsible" msgid "Require Responsible Owner" msgstr "责任人" -#: common/models.py:1809 common/models.py:1837 common/models.py:1859 -#: common/models.py:1895 +#: common/models.py:1782 common/models.py:1810 common/models.py:1832 +#: common/models.py:1868 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1814 +#: common/models.py:1787 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1816 +#: common/models.py:1789 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1822 +#: common/models.py:1795 #, fuzzy #| msgid "Sales Orders" msgid "Enable Return Orders" msgstr "销售订单" -#: common/models.py:1823 +#: common/models.py:1796 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1828 +#: common/models.py:1801 #, fuzzy #| msgid "Build Order Reference" msgid "Return Order Reference Pattern" msgstr "相关生产订单" -#: common/models.py:1830 +#: common/models.py:1803 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1842 +#: common/models.py:1815 #, fuzzy #| msgid "Complete Build Order" msgid "Edit Completed Return Orders" msgstr "生产订单完成" -#: common/models.py:1844 +#: common/models.py:1817 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1823 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1852 +#: common/models.py:1825 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1864 +#: common/models.py:1837 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1865 +#: common/models.py:1838 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1870 +#: common/models.py:1843 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1872 +#: common/models.py:1845 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1878 +#: common/models.py:1851 #, fuzzy #| msgid "Build Order is incomplete" msgid "Mark Shipped Orders as Complete" msgstr "生产订单未完成" -#: common/models.py:1880 +#: common/models.py:1853 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1886 +#: common/models.py:1859 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1861 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1873 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1902 +#: common/models.py:1875 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1908 +#: common/models.py:1881 #, fuzzy #| msgid "Create Purchase Order" msgid "Auto Complete Purchase Orders" msgstr "创建采购订单" -#: common/models.py:1910 +#: common/models.py:1883 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1917 +#: common/models.py:1890 msgid "Enable password forgot" msgstr "" -#: common/models.py:1918 +#: common/models.py:1891 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1923 +#: common/models.py:1896 msgid "Enable registration" msgstr "" -#: common/models.py:1924 +#: common/models.py:1897 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1929 +#: common/models.py:1902 msgid "Enable SSO" msgstr "" -#: common/models.py:1930 +#: common/models.py:1903 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1935 +#: common/models.py:1908 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1937 +#: common/models.py:1910 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1943 +#: common/models.py:1916 msgid "Email required" msgstr "" -#: common/models.py:1944 +#: common/models.py:1917 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1949 +#: common/models.py:1922 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1951 +#: common/models.py:1924 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1957 +#: common/models.py:1930 msgid "Mail twice" msgstr "" -#: common/models.py:1958 +#: common/models.py:1931 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1963 +#: common/models.py:1936 msgid "Password twice" msgstr "" -#: common/models.py:1964 +#: common/models.py:1937 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1969 +#: common/models.py:1942 msgid "Allowed domains" msgstr "" -#: common/models.py:1971 +#: common/models.py:1944 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1977 +#: common/models.py:1950 msgid "Group on signup" msgstr "" -#: common/models.py:1978 +#: common/models.py:1951 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1983 +#: common/models.py:1956 msgid "Enforce MFA" msgstr "" -#: common/models.py:1984 +#: common/models.py:1957 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1989 +#: common/models.py:1962 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1991 +#: common/models.py:1964 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1999 +#: common/models.py:1972 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2000 +#: common/models.py:1973 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2006 +#: common/models.py:1979 msgid "Enable URL integration" msgstr "" -#: common/models.py:2007 +#: common/models.py:1980 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2013 +#: common/models.py:1986 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2014 +#: common/models.py:1987 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2020 +#: common/models.py:1993 msgid "Enable app integration" msgstr "" -#: common/models.py:2021 +#: common/models.py:1994 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2027 +#: common/models.py:2000 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2028 +#: common/models.py:2001 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2034 +#: common/models.py:2007 msgid "Enable event integration" msgstr "" -#: common/models.py:2035 +#: common/models.py:2008 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2041 +#: common/models.py:2014 #, fuzzy #| msgid "Sales Orders" msgid "Enable project codes" msgstr "销售订单" -#: common/models.py:2042 +#: common/models.py:2015 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2047 +#: common/models.py:2020 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2049 +#: common/models.py:2022 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2055 +#: common/models.py:2028 #, fuzzy #| msgid "Exclude Location" msgid "Exclude External Locations" msgstr "排除地点" -#: common/models.py:2057 +#: common/models.py:2030 #, fuzzy #| msgid "Exclude stock items from this selected location" msgid "Exclude stock items in external locations from stocktake calculations" msgstr "从该选定的仓储地点排除库存项" -#: common/models.py:2063 +#: common/models.py:2036 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2065 +#: common/models.py:2038 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2071 +#: common/models.py:2044 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2073 +#: common/models.py:2046 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2080 +#: common/models.py:2053 msgid "Display Users full names" msgstr "" -#: common/models.py:2081 +#: common/models.py:2054 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2086 +#: common/models.py:2059 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2087 +#: common/models.py:2060 #, fuzzy #| msgid "Enable generation of test reports" msgid "Enable test station data collection for test results" msgstr "启用生成测试报表" -#: common/models.py:2099 common/models.py:2509 +#: common/models.py:2072 common/models.py:2482 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2142 +#: common/models.py:2115 #, fuzzy #| msgid "Build to allocate parts" msgid "Hide inactive parts" msgstr "生产以分配部件" -#: common/models.py:2144 +#: common/models.py:2117 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2150 +#: common/models.py:2123 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2151 +#: common/models.py:2124 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2156 +#: common/models.py:2129 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2157 +#: common/models.py:2130 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2162 +#: common/models.py:2135 msgid "Show latest parts" msgstr "显示最近商品" -#: common/models.py:2163 +#: common/models.py:2136 msgid "Show latest parts on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:2168 +#: common/models.py:2141 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2169 +#: common/models.py:2142 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2147 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2175 +#: common/models.py:2148 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2153 msgid "Show low stock" msgstr "" -#: common/models.py:2181 +#: common/models.py:2154 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2159 msgid "Show depleted stock" msgstr "" -#: common/models.py:2187 +#: common/models.py:2160 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2165 msgid "Show needed stock" msgstr "" -#: common/models.py:2193 +#: common/models.py:2166 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2171 msgid "Show expired stock" msgstr "" -#: common/models.py:2199 +#: common/models.py:2172 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2177 msgid "Show stale stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2178 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2183 msgid "Show pending builds" msgstr "" -#: common/models.py:2211 +#: common/models.py:2184 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2189 msgid "Show overdue builds" msgstr "显示逾期生产" -#: common/models.py:2217 +#: common/models.py:2190 msgid "Show overdue builds on the homepage" msgstr "在主页上显示逾期的生产" -#: common/models.py:2222 +#: common/models.py:2195 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2223 +#: common/models.py:2196 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2201 msgid "Show overdue POs" msgstr "" -#: common/models.py:2229 +#: common/models.py:2202 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2207 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2235 +#: common/models.py:2208 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2213 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2214 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2219 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2247 +#: common/models.py:2220 #, fuzzy #| msgid "Show latest parts on the homepage" msgid "Show pending SO shipments on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:2252 +#: common/models.py:2225 msgid "Show News" msgstr "" -#: common/models.py:2253 +#: common/models.py:2226 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2231 msgid "Inline label display" msgstr "内嵌标签显示" -#: common/models.py:2260 +#: common/models.py:2233 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载" -#: common/models.py:2266 +#: common/models.py:2239 msgid "Default label printer" msgstr "" -#: common/models.py:2268 +#: common/models.py:2241 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2274 +#: common/models.py:2247 msgid "Inline report display" msgstr "" -#: common/models.py:2276 +#: common/models.py:2249 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载" -#: common/models.py:2282 +#: common/models.py:2255 msgid "Search Parts" msgstr "" -#: common/models.py:2283 +#: common/models.py:2256 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2288 +#: common/models.py:2261 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2289 +#: common/models.py:2262 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2294 +#: common/models.py:2267 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2295 +#: common/models.py:2268 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2300 +#: common/models.py:2273 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2301 +#: common/models.py:2274 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2306 +#: common/models.py:2279 msgid "Search Categories" msgstr "" -#: common/models.py:2307 +#: common/models.py:2280 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2285 msgid "Search Stock" msgstr "" -#: common/models.py:2313 +#: common/models.py:2286 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2291 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2320 +#: common/models.py:2293 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2326 +#: common/models.py:2299 msgid "Search Locations" msgstr "" -#: common/models.py:2327 +#: common/models.py:2300 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2332 +#: common/models.py:2305 msgid "Search Companies" msgstr "" -#: common/models.py:2333 +#: common/models.py:2306 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2338 +#: common/models.py:2311 msgid "Search Build Orders" msgstr "" -#: common/models.py:2339 +#: common/models.py:2312 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2344 +#: common/models.py:2317 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2345 +#: common/models.py:2318 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2323 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2352 +#: common/models.py:2325 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2331 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2359 +#: common/models.py:2332 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2337 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2366 +#: common/models.py:2339 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2345 #, fuzzy #| msgid "Purchase Orders" msgid "Search Return Orders" msgstr "采购订单" -#: common/models.py:2373 +#: common/models.py:2346 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2351 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2380 +#: common/models.py:2353 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2386 +#: common/models.py:2359 msgid "Search Preview Results" msgstr "搜索预览结果" -#: common/models.py:2388 +#: common/models.py:2361 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2394 +#: common/models.py:2367 #, fuzzy #| msgid "Search" msgid "Regex Search" msgstr "搜索" -#: common/models.py:2395 +#: common/models.py:2368 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2400 +#: common/models.py:2373 msgid "Whole Word Search" msgstr "" -#: common/models.py:2401 +#: common/models.py:2374 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2406 +#: common/models.py:2379 msgid "Show Quantity in Forms" msgstr "在表格中显示数量" -#: common/models.py:2407 +#: common/models.py:2380 msgid "Display available part quantity in some forms" msgstr "在某些表格中显示可用的商品数量" -#: common/models.py:2412 +#: common/models.py:2385 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2413 +#: common/models.py:2386 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2418 +#: common/models.py:2391 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2419 +#: common/models.py:2392 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2424 +#: common/models.py:2397 msgid "Date Format" msgstr "" -#: common/models.py:2425 +#: common/models.py:2398 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2438 part/templates/part/detail.html:41 +#: common/models.py:2411 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2439 +#: common/models.py:2412 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2444 part/templates/part/detail.html:62 +#: common/models.py:2417 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2446 +#: common/models.py:2419 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2452 +#: common/models.py:2425 msgid "Table String Length" msgstr "" -#: common/models.py:2454 +#: common/models.py:2427 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2460 +#: common/models.py:2433 #, fuzzy #| msgid "Select Label Template" msgid "Default part label template" msgstr "选择标签模板" -#: common/models.py:2461 +#: common/models.py:2434 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2466 +#: common/models.py:2439 #, fuzzy #| msgid "stock items selected" msgid "Default stock item template" msgstr "已选择库存项" -#: common/models.py:2468 +#: common/models.py:2441 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2474 +#: common/models.py:2447 #, fuzzy #| msgid "No stock location set" msgid "Default stock location label template" msgstr "未设置仓储地点" -#: common/models.py:2476 +#: common/models.py:2449 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2482 +#: common/models.py:2455 #, fuzzy #| msgid "No stock location set" msgid "Default build line label template" msgstr "未设置仓储地点" -#: common/models.py:2484 +#: common/models.py:2457 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2490 +#: common/models.py:2463 msgid "Receive error reports" msgstr "" -#: common/models.py:2491 +#: common/models.py:2464 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2496 +#: common/models.py:2469 msgid "Last used printing machines" msgstr "" -#: common/models.py:2497 +#: common/models.py:2470 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2540 +#: common/models.py:2513 msgid "Price break quantity" msgstr "" -#: common/models.py:2547 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2520 company/serializers.py:496 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 @@ -3572,24 +3600,24 @@ msgstr "" msgid "Price" msgstr "价格" -#: common/models.py:2548 +#: common/models.py:2521 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2719 common/models.py:2904 +#: common/models.py:2616 common/models.py:2801 msgid "Endpoint" msgstr "" -#: common/models.py:2720 +#: common/models.py:2617 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2730 +#: common/models.py:2627 msgid "Name for this webhook" msgstr "" -#: common/models.py:2734 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: common/models.py:2631 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3600,101 +3628,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2734 +#: common/models.py:2631 msgid "Is this webhook active" msgstr "" -#: common/models.py:2750 users/models.py:159 +#: common/models.py:2647 users/models.py:159 msgid "Token" msgstr "令牌" -#: common/models.py:2751 +#: common/models.py:2648 msgid "Token for access" msgstr "" -#: common/models.py:2759 +#: common/models.py:2656 msgid "Secret" msgstr "" -#: common/models.py:2760 +#: common/models.py:2657 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2868 +#: common/models.py:2765 msgid "Message ID" msgstr "" -#: common/models.py:2869 +#: common/models.py:2766 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2877 +#: common/models.py:2774 msgid "Host" msgstr "" -#: common/models.py:2878 +#: common/models.py:2775 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2886 +#: common/models.py:2783 msgid "Header" msgstr "" -#: common/models.py:2887 +#: common/models.py:2784 msgid "Header of this message" msgstr "" -#: common/models.py:2894 +#: common/models.py:2791 msgid "Body" msgstr "" -#: common/models.py:2895 +#: common/models.py:2792 msgid "Body of this message" msgstr "" -#: common/models.py:2905 +#: common/models.py:2802 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2910 +#: common/models.py:2807 msgid "Worked on" msgstr "" -#: common/models.py:2911 +#: common/models.py:2808 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3037 +#: common/models.py:2934 msgid "Id" msgstr "" -#: common/models.py:3039 templates/js/translated/company.js:965 +#: common/models.py:2936 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3043 templates/js/translated/news.js:60 +#: common/models.py:2940 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3045 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2942 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3047 templates/js/translated/news.js:52 +#: common/models.py:2944 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3050 +#: common/models.py:2947 msgid "Read" msgstr "" -#: common/models.py:3050 +#: common/models.py:2947 msgid "Was this news item read?" msgstr "" -#: common/models.py:3067 company/models.py:156 part/models.py:972 +#: common/models.py:2964 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3704,41 +3732,41 @@ msgstr "" msgid "Image" msgstr "图片" -#: common/models.py:3067 +#: common/models.py:2964 #, fuzzy #| msgid "Image" msgid "Image file" msgstr "图片" -#: common/models.py:3109 +#: common/models.py:3006 #, fuzzy #| msgid "Must be a valid number" msgid "Unit name must be a valid identifier" msgstr "必须是有效数字" -#: common/models.py:3128 +#: common/models.py:3025 #, fuzzy #| msgid "Part name" msgid "Unit name" msgstr "商品名称" -#: common/models.py:3135 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3032 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3136 +#: common/models.py:3033 #, fuzzy #| msgid "Optional Items" msgid "Optional unit symbol" msgstr "可选项目" -#: common/models.py:3143 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3040 templates/InvenTree/settings/settings_staff_js.html:71 #, fuzzy #| msgid "Destination" msgid "Definition" msgstr "目的地" -#: common/models.py:3144 +#: common/models.py:3041 msgid "Unit definition" msgstr "" @@ -4123,7 +4151,7 @@ msgstr "选择商品" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:530 +#: company/templates/company/supplier_part.html:145 part/serializers.py:531 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4138,7 +4166,7 @@ msgid "Select manufacturer" msgstr "选择制造商" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:540 +#: company/templates/company/supplier_part.html:153 part/serializers.py:541 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4183,7 +4211,7 @@ msgid "Parameter value" msgstr "参数值" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1052 part/models.py:3666 +#: part/admin.py:57 part/models.py:1053 part/models.py:3657 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 @@ -4211,7 +4239,7 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4228,7 +4256,7 @@ msgstr "供应商" msgid "Select supplier" msgstr "选择供应商" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:526 msgid "Supplier stock keeping unit" msgstr "" @@ -4251,7 +4279,7 @@ msgid "Supplier part description" msgstr "供应商商品描述" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4113 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4261,11 +4289,11 @@ msgstr "供应商商品描述" msgid "Note" msgstr "备注" -#: company/models.py:857 part/models.py:2010 +#: company/models.py:857 part/models.py:2011 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2011 +#: company/models.py:858 part/models.py:2012 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低收费(例如库存费)" @@ -4295,7 +4323,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2017 +#: company/models.py:892 part/models.py:2018 msgid "multiple" msgstr "" @@ -4619,7 +4647,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:836 +#: part/admin.py:122 part/serializers.py:837 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4723,7 +4751,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:524 +#: part/bom.py:311 part/serializers.py:525 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4773,7 +4801,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: part/serializers.py:836 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:916 stock/serializers.py:1080 @@ -6049,34 +6077,34 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "商品ID" -#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" -#: part/admin.py:45 part/stocktake.py:220 +#: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:929 +#: part/admin.py:53 part/admin.py:319 part/models.py:930 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "关键词" @@ -6087,11 +6115,11 @@ msgstr "关键词" msgid "Part Image" msgstr "商品名称" -#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" msgstr "类别 ID" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -6103,11 +6131,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "最低库存" @@ -6120,12 +6148,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3123 part/models.py:3137 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -6143,8 +6171,8 @@ msgstr "" msgid "Category Path" msgstr "类别路径" -#: part/admin.py:325 part/models.py:393 part/serializers.py:117 -#: part/serializers.py:272 part/serializers.py:391 +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:273 part/serializers.py:392 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -6167,17 +6195,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3957 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: part/admin.py:423 part/serializers.py:1279 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1293 +#: part/admin.py:428 part/serializers.py:1294 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6267,8 +6295,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 -#: part/serializers.py:406 part/serializers.py:1134 +#: part/api.py:1515 part/models.py:940 part/models.py:3420 part/models.py:3900 +#: part/serializers.py:407 part/serializers.py:1135 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6280,12 +6308,12 @@ msgstr "类别" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:102 part/models.py:982 +#: part/bom.py:170 part/models.py:103 part/models.py:983 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "默认仓储地点" -#: part/bom.py:171 part/serializers.py:837 +#: part/bom.py:171 part/serializers.py:838 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6294,378 +6322,378 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "商品类别" -#: part/models.py:84 part/templates/part/category.html:136 +#: part/models.py:85 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "商品类别" -#: part/models.py:103 +#: part/models.py:104 msgid "Default location for parts in this category" msgstr "此类别商品的默认仓储地点" -#: part/models.py:108 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:110 +#: part/models.py:111 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords for parts in this category" msgstr "此类别商品的默认关键字" -#: part/models.py:126 stock/models.py:85 stock/models.py:156 +#: part/models.py:127 stock/models.py:85 stock/models.py:156 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:127 stock/models.py:157 +#: part/models.py:128 stock/models.py:157 msgid "Icon (optional)" msgstr "" -#: part/models.py:149 +#: part/models.py:150 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:482 +#: part/models.py:483 #, fuzzy #| msgid "Print actions" msgid "Cannot delete this part as it is still active" msgstr "打印操作" -#: part/models.py:489 +#: part/models.py:490 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:527 +#: part/models.py:528 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:575 part/models.py:582 +#: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:594 +#: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:659 +#: part/models.py:660 #, fuzzy, python-brace-format #| msgid "IPN must match regex pattern {pat}" msgid "IPN must match regex pattern {pattern}" msgstr "IPN 必须匹配正则表达式 {pat}" -#: part/models.py:739 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:844 +#: part/models.py:845 msgid "Duplicate IPN not allowed in part settings" msgstr "在商品设置中不允许重复的IPN" -#: part/models.py:854 +#: part/models.py:855 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:898 part/models.py:3965 +#: part/models.py:899 part/models.py:3956 msgid "Part name" msgstr "商品名称" -#: part/models.py:903 +#: part/models.py:904 msgid "Is Template" msgstr "" -#: part/models.py:904 +#: part/models.py:905 msgid "Is this part a template part?" msgstr "" -#: part/models.py:914 +#: part/models.py:915 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:922 +#: part/models.py:923 #, fuzzy #| msgid "Description (optional)" msgid "Part description (optional)" msgstr "描述 (可选)" -#: part/models.py:930 +#: part/models.py:931 msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的关键字" -#: part/models.py:940 +#: part/models.py:941 msgid "Part category" msgstr "商品类别" -#: part/models.py:948 +#: part/models.py:949 msgid "Internal Part Number" msgstr "内部商品编号" -#: part/models.py:955 +#: part/models.py:956 msgid "Part revision or version number" msgstr "商品版本号" -#: part/models.py:980 +#: part/models.py:981 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1026 part/templates/part/part_base.html:376 +#: part/models.py:1027 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1027 +#: part/models.py:1028 msgid "Default supplier part" msgstr "默认供应商商品" -#: part/models.py:1034 +#: part/models.py:1035 msgid "Default Expiry" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1053 +#: part/models.py:1054 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1060 +#: part/models.py:1061 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1066 +#: part/models.py:1067 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1072 +#: part/models.py:1073 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1078 +#: part/models.py:1079 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1084 +#: part/models.py:1085 msgid "Can this part be sold to customers?" msgstr "此商品可以销售给客户吗?" -#: part/models.py:1088 +#: part/models.py:1089 msgid "Is this part active?" msgstr "" -#: part/models.py:1094 +#: part/models.py:1095 msgid "Is this a virtual part, such as a software product or license?" msgstr "这是一个虚拟商品,如软件产品或许可证吗?" -#: part/models.py:1100 +#: part/models.py:1101 msgid "BOM checksum" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1109 +#: part/models.py:1110 msgid "BOM checked by" msgstr "" -#: part/models.py:1114 +#: part/models.py:1115 msgid "BOM checked date" msgstr "" -#: part/models.py:1130 +#: part/models.py:1131 msgid "Creation User" msgstr "新建用户" -#: part/models.py:1140 +#: part/models.py:1141 #, fuzzy #| msgid "User or group responsible for this order" msgid "Owner responsible for this part" msgstr "负责此订单的用户或群组" -#: part/models.py:1145 part/templates/part/part_base.html:339 +#: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:2018 +#: part/models.py:2019 msgid "Sell multiple" msgstr "" -#: part/models.py:3037 +#: part/models.py:3028 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3053 +#: part/models.py:3044 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3045 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3060 +#: part/models.py:3051 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3061 +#: part/models.py:3052 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3067 +#: part/models.py:3058 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3068 +#: part/models.py:3059 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3065 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3066 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3072 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3082 +#: part/models.py:3073 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3088 +#: part/models.py:3079 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3089 +#: part/models.py:3080 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3095 +#: part/models.py:3086 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3096 +#: part/models.py:3087 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3102 +#: part/models.py:3093 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3103 +#: part/models.py:3094 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3109 +#: part/models.py:3100 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3101 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3116 +#: part/models.py:3107 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3117 +#: part/models.py:3108 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3124 +#: part/models.py:3115 msgid "Override minimum cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3122 msgid "Override maximum cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3129 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3136 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3151 +#: part/models.py:3142 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3152 +#: part/models.py:3143 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3158 +#: part/models.py:3149 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3159 +#: part/models.py:3150 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3165 +#: part/models.py:3156 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3157 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3172 +#: part/models.py:3163 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3173 +#: part/models.py:3164 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3192 +#: part/models.py:3183 msgid "Part for stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Item Count" msgstr "" -#: part/models.py:3198 +#: part/models.py:3189 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3206 +#: part/models.py:3197 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3210 part/models.py:3293 +#: part/models.py:3201 part/models.py:3284 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6677,716 +6705,716 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3211 +#: part/models.py:3202 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3219 +#: part/models.py:3210 msgid "Additional notes" msgstr "" -#: part/models.py:3229 +#: part/models.py:3220 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3235 +#: part/models.py:3226 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3227 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3242 +#: part/models.py:3233 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3243 +#: part/models.py:3234 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3300 +#: part/models.py:3291 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3306 +#: part/models.py:3297 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3316 +#: part/models.py:3307 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3478 +#: part/models.py:3469 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3489 +#: part/models.py:3480 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3500 +#: part/models.py:3491 #, fuzzy #| msgid "Attachment with this filename already exists" msgid "Test template with the same key already exists for part" msgstr "使用此文件名的附件已存在" -#: part/models.py:3517 templates/js/translated/part.js:2878 +#: part/models.py:3508 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3509 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3515 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3516 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3523 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3524 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 report/models.py:208 +#: part/models.py:3528 report/models.py:208 #: templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "已启用" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 templates/js/translated/part.js:2907 +#: part/models.py:3533 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3543 +#: part/models.py:3534 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3539 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2922 +#: part/models.py:3545 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3547 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: part/models.py:3594 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3608 +#: part/models.py:3599 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 +#: part/models.py:3619 #, fuzzy #| msgid "Key string must be unique" msgid "Choices must be unique" msgstr "关键字必须是唯一的" -#: part/models.py:3645 +#: part/models.py:3636 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3651 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3658 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3666 msgid "Parameter description" msgstr "" -#: part/models.py:3681 templates/js/translated/part.js:1627 +#: part/models.py:3672 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3682 +#: part/models.py:3673 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 +#: part/models.py:3678 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3688 +#: part/models.py:3679 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3756 #, fuzzy #| msgid "Invalid choice for parent build" msgid "Invalid choice for parameter value" msgstr "上级生产选项无效" -#: part/models.py:3808 +#: part/models.py:3799 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: part/models.py:3807 part/models.py:3908 part/models.py:3909 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:3821 +#: part/models.py:3812 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3813 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "默认值" -#: part/models.py:3925 +#: part/models.py:3916 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3954 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3955 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3957 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3958 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4048 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4058 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4059 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4098 part/templates/part/upload_bom.html:55 +#: part/models.py:4089 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4090 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4097 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4105 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4111 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4112 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4117 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4118 #, fuzzy #| msgid "Some stock items have been overallocated" msgid "This BOM item has been validated" msgstr "一些库存项已被过度分配" -#: part/models.py:4132 part/templates/part/upload_bom.html:57 +#: part/models.py:4123 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4133 +#: part/models.py:4124 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4138 part/templates/part/upload_bom.html:56 +#: part/models.py:4129 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4130 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4224 stock/models.py:664 +#: part/models.py:4215 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4234 part/models.py:4236 +#: part/models.py:4225 part/models.py:4227 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4367 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4388 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4401 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4409 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4425 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4433 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4434 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4453 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4458 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:119 part/serializers.py:141 +#: part/serializers.py:120 part/serializers.py:142 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "子类别" -#: part/serializers.py:185 +#: part/serializers.py:186 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:273 +#: part/serializers.py:274 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 #, fuzzy #| msgid "Rejected" msgid "No parts selected" msgstr "已拒绝" -#: part/serializers.py:407 +#: part/serializers.py:408 #, fuzzy #| msgid "Set category" msgid "Select category" msgstr "设置类别" -#: part/serializers.py:442 +#: part/serializers.py:443 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:449 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:456 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:457 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:463 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:470 #, fuzzy #| msgid "Company Notes" msgid "Copy Notes" msgstr "公司备注" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:489 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:491 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:498 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:516 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:532 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:542 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:549 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:558 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:569 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:576 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:839 #, fuzzy #| msgid "External Link" msgid "External Stock" msgstr "外部链接" -#: part/serializers.py:840 +#: part/serializers.py:841 #, fuzzy #| msgid "Unallocate Stock" msgid "Unallocated Stock" msgstr "未分配库存" -#: part/serializers.py:843 +#: part/serializers.py:844 #, fuzzy #| msgid "Part Stock" msgid "Variant Stock" msgstr "商品库存" -#: part/serializers.py:873 part/templates/part/copy_part.html:9 +#: part/serializers.py:874 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "复制部件" -#: part/serializers.py:874 +#: part/serializers.py:875 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:881 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:882 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:888 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:889 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:897 msgid "Copy Category Parameters" msgstr "复制类别参数" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:903 #, fuzzy #| msgid "Existing barcode found" msgid "Existing Image" msgstr "发现现有条码" -#: part/serializers.py:903 +#: part/serializers.py:904 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:921 #, fuzzy #| msgid "Part image not found" msgid "Image file does not exist" msgstr "未找到商品图像" -#: part/serializers.py:1126 +#: part/serializers.py:1127 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1137 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1147 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1153 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1154 #, fuzzy #| msgid "Exclude stock items from this selected location" msgid "Exclude stock items in external locations" msgstr "从该选定的仓储地点排除库存项" -#: part/serializers.py:1158 +#: part/serializers.py:1159 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1160 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1165 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1166 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1174 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1280 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1287 #, fuzzy #| msgid "Uses default currency" msgid "Minimum price currency" msgstr "使用默认货币" -#: part/serializers.py:1294 +#: part/serializers.py:1295 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1302 #, fuzzy #| msgid "Uses default currency" msgid "Maximum price currency" msgstr "使用默认货币" -#: part/serializers.py:1330 +#: part/serializers.py:1331 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1332 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1355 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1362 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1365 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1732 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1740 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1741 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1746 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1747 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1752 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1753 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1758 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1759 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1793 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1794 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1824 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1868 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1871 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1874 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1883 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1891 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1912 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: part/stocktake.py:225 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:225 +#: part/stocktake.py:226 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:227 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:284 +#: part/stocktake.py:285 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:285 +#: part/stocktake.py:286 msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:39 +#: part/tasks.py:40 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8778,15 +8806,15 @@ msgstr "删除仓储地" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:77 +#: report/api.py:88 msgid "No valid objects provided to template" msgstr "没有为模板提供有效对象" -#: report/api.py:89 report/serializers.py:53 +#: report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: report/api.py:92 report/models.py:438 report/serializers.py:98 +#: report/api.py:103 report/models.py:438 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 @@ -8794,43 +8822,43 @@ msgstr "" msgid "Items" msgstr "" -#: report/api.py:168 +#: report/api.py:180 #, fuzzy #| msgid "Part image not found" msgid "Plugin not found" msgstr "未找到商品图像" -#: report/api.py:170 +#: report/api.py:182 #, fuzzy #| msgid "Print actions" msgid "Plugin is not active" msgstr "打印操作" -#: report/api.py:172 +#: report/api.py:184 #, fuzzy #| msgid "Part(s) must be selected before printing labels" msgid "Plugin does not support label printing" msgstr "打印标签前必须选择商品" -#: report/api.py:221 +#: report/api.py:233 #, fuzzy #| msgid "Inline label display" msgid "Invalid label dimensions" msgstr "内嵌标签显示" -#: report/api.py:236 report/api.py:316 +#: report/api.py:248 report/api.py:329 #, fuzzy #| msgid "No valid objects provided to template" msgid "No valid items provided to template" msgstr "没有为模板提供有效对象" -#: report/api.py:271 +#: report/api.py:283 #, fuzzy #| msgid "Error renaming file" msgid "Error printing label" msgstr "重命名文件出错" -#: report/api.py:362 report/api.py:398 +#: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -10823,20 +10851,20 @@ msgstr "采购订单设置" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:34 +#: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" msgstr "汇率" -#: templates/InvenTree/settings/pricing.html:38 +#: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" msgstr "立即更新" -#: templates/InvenTree/settings/pricing.html:46 -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" msgstr "上次更新" -#: templates/InvenTree/settings/pricing.html:50 +#: templates/InvenTree/settings/pricing.html:51 msgid "Never" msgstr "从不" diff --git a/src/frontend/src/locales/bg/messages.po b/src/frontend/src/locales/bg/messages.po index efbd067478..2d7d16da5e 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: 2024-05-23 11:38\n" +"PO-Revision-Date: 2024-06-04 12:38\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -48,12 +48,12 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -207,7 +207,7 @@ msgstr "" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" @@ -248,6 +248,35 @@ msgstr "" msgid "Virtual" msgstr "" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "" @@ -334,11 +363,6 @@ msgstr "" msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -967,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1109,7 +1132,7 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1160,7 +1183,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1227,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1257,7 +1280,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1282,7 +1305,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1304,7 +1327,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1385,7 +1408,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -1844,16 +1867,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -3394,22 +3413,22 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3417,7 +3436,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3769,12 +3788,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -6827,3 +6846,4 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" + diff --git a/src/frontend/src/locales/cs/messages.po b/src/frontend/src/locales/cs/messages.po index f777518e0d..c25c010644 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: 2024-05-23 11:38\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Czech\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" @@ -48,12 +48,12 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -207,7 +207,7 @@ msgstr "Součást není aktivní" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" @@ -248,6 +248,35 @@ msgstr "Část je virtuální (nikoli fyzická část)" msgid "Virtual" msgstr "Virtuální" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "Dokončeno" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "Nepodařilo se uložit poznámky" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "Kód" @@ -334,11 +363,6 @@ msgstr "" msgid "Form Error" msgstr "Chyba formuláře" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "Dokončeno" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "Přidat server" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "Uložit" @@ -967,7 +990,7 @@ msgstr "Nastavení účtu" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "Nastavení systému" @@ -1109,7 +1132,7 @@ msgstr "Díl" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1160,7 +1183,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1227,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "Firma" @@ -1257,7 +1280,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1282,7 +1305,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1304,7 +1327,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1385,7 +1408,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -1844,16 +1867,12 @@ msgid "Getting started" msgstr "Začínáme" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "Nepodařilo se nahrát obrázek" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "Poznámky uloženy" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "Nepodařilo se uložit poznámky" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -3394,22 +3413,22 @@ msgstr "Ceník" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "Štítky" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3417,7 +3436,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3769,12 +3788,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "Upravit společnost" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -6827,3 +6846,4 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" + diff --git a/src/frontend/src/locales/da/messages.po b/src/frontend/src/locales/da/messages.po index 6541c27662..df5f43eae9 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: 2024-05-23 11:38\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Danish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -48,12 +48,12 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -207,7 +207,7 @@ msgstr "" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" @@ -248,6 +248,35 @@ msgstr "" msgid "Virtual" msgstr "" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "" @@ -334,11 +363,6 @@ msgstr "" msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -967,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1109,7 +1132,7 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1160,7 +1183,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1227,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1257,7 +1280,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1282,7 +1305,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1304,7 +1327,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1385,7 +1408,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -1844,16 +1867,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -3394,22 +3413,22 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3417,7 +3436,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3769,12 +3788,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -6827,3 +6846,4 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" + diff --git a/src/frontend/src/locales/de/messages.po b/src/frontend/src/locales/de/messages.po index 078ef4476a..03924b125f 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: 2024-05-23 11:38\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: German\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -48,12 +48,12 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -207,7 +207,7 @@ msgstr "Teil ist nicht aktiv" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" @@ -248,6 +248,35 @@ msgstr "Teil ist virtuell (kein physischer Gegenstand)" msgid "Virtual" msgstr "Virtuell" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "Abgeschlossen" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "Notiz konnte nicht gespeichert werden" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "Code" @@ -334,11 +363,6 @@ msgstr "Fehler bei Darstellung der Vorlage" msgid "Form Error" msgstr "Formularfehler" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "Abgeschlossen" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "Adresse hinzufügen" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "Speichern" @@ -967,7 +990,7 @@ msgstr "Benutzereinstellungen" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "Einstellungen" @@ -1109,7 +1132,7 @@ msgstr "Teil" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1160,7 +1183,7 @@ msgid "Part Category" msgstr "Teilkategorie" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1227,7 +1250,7 @@ msgid "Build Lines" msgstr "Bauauftragspositionen" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "Firma" @@ -1257,7 +1280,7 @@ msgid "Purchase Order" msgstr "Einkaufsbestellung" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1282,7 +1305,7 @@ msgid "Sales Order" msgstr "Verkaufsauftrag" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1304,7 +1327,7 @@ msgid "Return Order" msgstr "Rückgabe Auftrag" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1385,7 +1408,7 @@ msgstr "Sendung" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -1844,16 +1867,12 @@ msgid "Getting started" msgstr "Erste Schritte" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "Fehler beim Hochladen des Bildes" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "Notizen gespeichert" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "Notiz konnte nicht gespeichert werden" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -3394,22 +3413,22 @@ msgstr "Preise" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "Beschriftungen" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "Berichte" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "Inventur" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3417,7 +3436,7 @@ msgstr "Inventur" msgid "Build Orders" msgstr "Bauaufträge" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "Zu Benutzereinstellungen wechseln" @@ -3769,12 +3788,12 @@ msgstr "Zuliefererteile" msgid "Assigned Stock" msgstr "Zugeordneter Bestand" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "Unternehmen bearbeiten" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "Firmen-Aktionen" @@ -6827,3 +6846,4 @@ msgstr "Dokumentation lesen" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "Ignorieren und weiter zur Desktopansicht" + diff --git a/src/frontend/src/locales/el/messages.po b/src/frontend/src/locales/el/messages.po index fae3612e5a..e8ebce2778 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: 2024-05-23 11:38\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Greek\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -48,12 +48,12 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -207,7 +207,7 @@ msgstr "Το εξάρτημα είναι ανενεργό" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" @@ -248,6 +248,35 @@ msgstr "Το εξάρτημα είναι εικονικό (μη φυσικό ε msgid "Virtual" msgstr "Εικονικό" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "Επιτυχία" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "Κωδικός" @@ -334,11 +363,6 @@ msgstr "Σφάλμα αποτύπωσης προτύπου" msgid "Form Error" msgstr "Σφάλμα Φόρμας" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "Επιτυχία" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -967,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1109,7 +1132,7 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1160,7 +1183,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1227,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1257,7 +1280,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1282,7 +1305,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1304,7 +1327,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1385,7 +1408,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -1844,16 +1867,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -3394,22 +3413,22 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3417,7 +3436,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3769,12 +3788,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -6827,3 +6846,4 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" + diff --git a/src/frontend/src/locales/en/messages.po b/src/frontend/src/locales/en/messages.po index 5dc98da65e..4e45331c8c 100644 --- a/src/frontend/src/locales/en/messages.po +++ b/src/frontend/src/locales/en/messages.po @@ -962,7 +962,7 @@ msgstr "Account settings" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "System Settings" @@ -1104,7 +1104,7 @@ msgstr "Part" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1155,7 +1155,7 @@ msgid "Part Category" msgstr "Part Category" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1252,7 +1252,7 @@ msgid "Purchase Order" msgstr "Purchase Order" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1277,7 +1277,7 @@ msgid "Sales Order" msgstr "Sales Order" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1299,7 +1299,7 @@ msgid "Return Order" msgstr "Return Order" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1380,7 +1380,7 @@ msgstr "Shipment" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -3389,22 +3389,22 @@ msgstr "Pricing" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "Labels" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "Reporting" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "Stocktake" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3412,7 +3412,7 @@ msgstr "Stocktake" msgid "Build Orders" msgstr "Build Orders" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "Switch to User Setting" diff --git a/src/frontend/src/locales/es-mx/messages.po b/src/frontend/src/locales/es-mx/messages.po index 8144b1fe75..f42eb21442 100644 --- a/src/frontend/src/locales/es-mx/messages.po +++ b/src/frontend/src/locales/es-mx/messages.po @@ -943,7 +943,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1077,7 +1077,7 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1128,7 +1128,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1225,7 +1225,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1250,7 +1250,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1272,7 +1272,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1353,7 +1353,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -3154,22 +3154,22 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3177,7 +3177,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" diff --git a/src/frontend/src/locales/es/messages.po b/src/frontend/src/locales/es/messages.po index 6746d5075c..a3ed5ac6b7 100644 --- a/src/frontend/src/locales/es/messages.po +++ b/src/frontend/src/locales/es/messages.po @@ -5,22 +5,22 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: @lingui/cli\n" -"Language: es\n" +"Language: es_MX\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-31 12:29\n" +"PO-Revision-Date: 2024-06-07 13:56\n" "Last-Translator: \n" -"Language-Team: Spanish\n" +"Language-Team: Spanish, Mexico\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" -"X-Crowdin-Language: es-ES\n" +"X-Crowdin-Language: es-MX\n" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" -msgstr "Error al procesar el componente" +msgstr "Error al renderizar componente" #: src/components/Boundary.tsx:14 msgid "An error occurred while rendering this component. Refer to the console for more information." @@ -28,11 +28,11 @@ msgstr "Ocurrió un error mientras se renderizaba este componente. Consulte la c #: src/components/DashboardItemProxy.tsx:34 msgid "Title" -msgstr "Título" +msgstr "Titulo" #: src/components/buttons/AdminButton.tsx:83 msgid "Open in admin interface" -msgstr "Abrir en interfaz de administración" +msgstr "Abrir en interfaz de administrador" #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" @@ -44,16 +44,16 @@ msgstr "Imprimir etiqueta" #: src/components/buttons/PrintingActions.tsx:101 msgid "Label printing completed successfully" -msgstr "" +msgstr "Impresión de etiqueta completada con éxito" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -69,7 +69,7 @@ msgstr "La etiqueta no pudo ser generada" #: src/components/buttons/PrintingActions.tsx:123 msgid "Print Report" -msgstr "Imprimir un informe" +msgstr "Imprimir informe" #: src/components/buttons/PrintingActions.tsx:139 msgid "Report printing completed successfully" @@ -77,7 +77,7 @@ msgstr "Impresión de informe completada con éxito" #: src/components/buttons/PrintingActions.tsx:145 msgid "The report could not be generated" -msgstr "El informe no ha podido ser creado" +msgstr "El informe no pudo ser generada" #: src/components/buttons/PrintingActions.tsx:173 msgid "Printing Actions" @@ -89,7 +89,7 @@ msgstr "Imprimir etiquetas" #: src/components/buttons/PrintingActions.tsx:184 msgid "Print Reports" -msgstr "Imprimir reportes" +msgstr "Imprimir informes" #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" @@ -101,15 +101,15 @@ msgstr "Abrir escáner de código QR" #: src/components/buttons/SpotlightButton.tsx:14 msgid "Open spotlight" -msgstr "Abrir spotlight" +msgstr "" #: src/components/buttons/YesNoButton.tsx:16 msgid "Pass" -msgstr "" +msgstr "Aprobado" #: src/components/buttons/YesNoButton.tsx:17 msgid "Fail" -msgstr "Fallo" +msgstr "Falló" #: src/components/buttons/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 @@ -135,11 +135,11 @@ msgstr "Copiar" #: src/components/details/DetailsImage.tsx:65 msgid "Remove Image" -msgstr "Eliminar imagen" +msgstr "Quitar imagen" #: src/components/details/DetailsImage.tsx:68 msgid "Remove the associated image from this item?" -msgstr "¿Eliminar la imagen asociada de este elemento?" +msgstr "¿Eliminar imagen asociada al artículo?" #: src/components/details/DetailsImage.tsx:71 #: src/forms/StockForms.tsx:483 @@ -164,7 +164,7 @@ msgstr "Cancelar" #: src/components/details/DetailsImage.tsx:97 msgid "Drag and drop to upload" -msgstr "Arrastrar y soltar para subir" +msgstr "Arrastra y suelta para subir" #: src/components/details/DetailsImage.tsx:100 msgid "Click to select file(s)" @@ -179,11 +179,11 @@ msgstr "Borrar" #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" -msgstr "Enviar" +msgstr "Aceptar" #: src/components/details/DetailsImage.tsx:267 msgid "Select from existing images" -msgstr "Seleccionar de imágenes existentes" +msgstr "Seleccionar desde imágenes existentes" #: src/components/details/DetailsImage.tsx:275 msgid "Select Image" @@ -191,23 +191,23 @@ msgstr "Seleccionar imagen" #: src/components/details/DetailsImage.tsx:287 msgid "Upload new image" -msgstr "Cargar nueva imagen" +msgstr "Subir nueva imagen" #: src/components/details/DetailsImage.tsx:294 msgid "Upload Image" -msgstr "Cargar Imagen" +msgstr "Subir Imagen" #: src/components/details/DetailsImage.tsx:307 msgid "Delete image" -msgstr "Borrar imagen" +msgstr "Eliminar imagen" #: src/components/details/PartIcons.tsx:28 msgid "Part is not active" -msgstr "Parte no está activa" +msgstr "La pieza no está activa" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" @@ -215,42 +215,71 @@ msgstr "Inactivo" #: src/components/details/PartIcons.tsx:41 msgid "Part is a template part (variants can be made from this part)" -msgstr "La pieza es una pieza de plantilla (las variantes se pueden hacer a partir de esta pieza)" +msgstr "La pieza es una pieza de plantilla (se pueden hacer variantes de esta misma)" #: src/components/details/PartIcons.tsx:47 msgid "Part can be assembled from other parts" -msgstr "La parte puede ser ensamblada desde otras partes" +msgstr "Esta pieza se puede ensamblar utilizando otras partes" #: src/components/details/PartIcons.tsx:53 msgid "Part can be used in assemblies" -msgstr "La parte puede ser usada en ensamblajes" +msgstr "Esta pieza se puede usar en ensamblajes" #: src/components/details/PartIcons.tsx:59 msgid "Part stock is tracked by serial number" -msgstr "El stock de esta parte está rastreado por número de serie" +msgstr "Stock de pieza será rastreado con número de serie" #: src/components/details/PartIcons.tsx:65 msgid "Part can be purchased from external suppliers" -msgstr "La parte puede ser comprada de proveedores externos" +msgstr "" #: src/components/details/PartIcons.tsx:71 msgid "Part can be sold to customers" -msgstr "La parte puede ser vendida a clientes" +msgstr "" #: src/components/details/PartIcons.tsx:76 msgid "Part is virtual (not a physical part)" -msgstr "La parte es virtual (no una parte física)" +msgstr "" #: src/components/details/PartIcons.tsx:82 #: src/tables/part/PartTable.tsx:234 #: src/tables/part/PartTable.tsx:238 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" -msgstr "Virtual" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" -msgstr "Código" +msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 #~ msgid "Failed to parse error response from server." @@ -258,28 +287,28 @@ msgstr "Código" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." -msgstr "Vista previa no disponible, haga clic en \"Recargar vista previa\"." +msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/index.tsx:9 msgid "PDF Preview" -msgstr "Vista previa PDF" +msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" -msgstr "Error al cargar la plantilla" +msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" -msgstr "Error al guardar la plantilla" +msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 msgid "Save & Reload Preview" -msgstr "Guardar y recargar vista previa" +msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" -msgstr "¿Está seguro que desea guardar y recargar la vista previa?" +msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 #~ msgid "Save & Reload preview?" @@ -287,27 +316,27 @@ msgstr "¿Está seguro que desea guardar y recargar la vista previa?" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" -msgstr "Para renderizar la vista previa la plantilla actual necesita ser reemplazada en el servidor con sus modificaciones que pueden romper la etiqueta si está en uso activo. ¿Quieres continuar?" +msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" -msgstr "Guardar y recargar" +msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" -msgstr "Actualizar vista previa" +msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." -msgstr "La vista previa se ha actualizado correctamente." +msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" -msgstr "Recargar vista previa" +msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" -msgstr "Usar la plantilla actualmente almacenada del servidor" +msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 #~ msgid "Save & Reload preview" @@ -315,7 +344,7 @@ msgstr "Usar la plantilla actualmente almacenada del servidor" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" -msgstr "Guardar la plantilla actual y recargar la vista previa" +msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 #~ msgid "to preview" @@ -323,21 +352,16 @@ msgstr "Guardar la plantilla actual y recargar la vista previa" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 msgid "Select instance to preview" -msgstr "Seleccione la instancia a previsualizar" +msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" -msgstr "Error al renderizar plantilla" +msgstr "" #: src/components/forms/ApiForm.tsx:149 #: src/functions/forms.tsx:259 msgid "Form Error" -msgstr "Error de formulario" - -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "Completado" +msgstr "" #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" @@ -346,7 +370,7 @@ msgstr "Completado" #: src/components/forms/ApiForm.tsx:611 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" -msgstr "Actualizar" +msgstr "" #: src/components/forms/ApiForm.tsx:631 #: src/components/items/ActionDropdown.tsx:210 @@ -358,7 +382,7 @@ msgstr "Actualizar" #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" -msgstr "Eliminar" +msgstr "" #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 @@ -368,11 +392,11 @@ msgstr "Eliminar" #: src/components/forms/AuthenticationForm.tsx:51 msgid "Login successful" -msgstr "Inicio de sesión correcto" +msgstr "Inicio de sesión exitoso" #: src/components/forms/AuthenticationForm.tsx:52 msgid "Logged in successfully" -msgstr "Se ha iniciado sesión con éxito" +msgstr "" #: src/components/forms/AuthenticationForm.tsx:52 #~ msgid "Welcome back!" @@ -384,7 +408,7 @@ msgstr "Se ha iniciado sesión con éxito" #: src/components/forms/AuthenticationForm.tsx:58 msgid "Login failed" -msgstr "" +msgstr "Error al iniciar sesión" #: src/components/forms/AuthenticationForm.tsx:59 #: src/components/forms/AuthenticationForm.tsx:76 @@ -401,11 +425,11 @@ msgstr "" #: src/components/forms/AuthenticationForm.tsx:70 #: src/functions/auth.tsx:114 msgid "Mail delivery successful" -msgstr "" +msgstr "Envío de correo exitoso" #: src/components/forms/AuthenticationForm.tsx:71 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." -msgstr "" +msgstr "Revisa tu bandeja de entrada para el enlace de inicio de sesión. Si tienes una cuenta, recibirás un enlace de inicio de sesión. Revisa también el correo no deseado." #: src/components/forms/AuthenticationForm.tsx:75 msgid "Mail delivery failed" @@ -423,7 +447,7 @@ msgstr "Nombre de usuario" #: src/components/forms/AuthenticationForm.tsx:107 #: src/components/forms/AuthenticationForm.tsx:228 msgid "Your username" -msgstr "Tu nombre de usuario" +msgstr "" #: src/components/forms/AuthenticationForm.tsx:112 #: src/components/forms/AuthenticationForm.tsx:240 @@ -456,7 +480,7 @@ msgstr "Correo electrónico" #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:107 msgid "We will send you a link to login - if you are registered" -msgstr "" +msgstr "Te enviaremos un enlace para iniciar sesión - si estás registrado" #: src/components/forms/AuthenticationForm.tsx:136 #~ msgid "I will use username and password" @@ -464,7 +488,7 @@ msgstr "" #: src/components/forms/AuthenticationForm.tsx:151 msgid "Send me an email" -msgstr "" +msgstr "Envíame un correo electrónico" #: src/components/forms/AuthenticationForm.tsx:153 msgid "Use username and password" @@ -488,7 +512,7 @@ msgstr "" #: src/components/forms/AuthenticationForm.tsx:210 msgid "Input error" -msgstr "" +msgstr "Error de entrada" #: src/components/forms/AuthenticationForm.tsx:234 msgid "This will be used for a confirmation" @@ -540,24 +564,23 @@ msgstr "" #: src/tables/settings/PendingTasksTable.tsx:26 #: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" -msgstr "" +msgstr "Nombre" #: src/components/forms/HostOptionsForm.tsx:75 msgid "No one here..." -msgstr "" +msgstr "Nadie aquí..." #: src/components/forms/HostOptionsForm.tsx:86 msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" -msgstr "" +msgstr "Guardar" #: src/components/forms/InstanceOptions.tsx:43 msgid "Select destination instance" -msgstr "" +msgstr "Seleccionar instancia de destino" #: src/components/forms/InstanceOptions.tsx:71 msgid "Edit possible host options" @@ -565,34 +588,34 @@ msgstr "" #: src/components/forms/InstanceOptions.tsx:98 msgid "Version: {0}" -msgstr "" +msgstr "Versión: {0}" #: src/components/forms/InstanceOptions.tsx:100 msgid "API:{0}" -msgstr "" +msgstr "API:{0}" #: src/components/forms/InstanceOptions.tsx:102 msgid "Name: {0}" -msgstr "" +msgstr "Nombre: {0}" #: src/components/forms/InstanceOptions.tsx:104 msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:315 +#: src/components/forms/fields/RelatedModelField.tsx:320 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "" @@ -967,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1109,7 +1132,7 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1160,7 +1183,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1227,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1257,13 +1280,13 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" -msgstr "" +msgstr "Órdenes de compra" #: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" @@ -1282,7 +1305,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1304,11 +1327,11 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" -msgstr "" +msgstr "Ordenes de devolución" #: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 @@ -1385,7 +1408,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -1844,16 +1867,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -2147,7 +2166,7 @@ msgstr "" #: src/defaults/links.tsx:11 #: src/pages/company/CompanyDetail.tsx:92 msgid "Website" -msgstr "" +msgstr "Sitio web" #: src/defaults/links.tsx:16 msgid "GitHub" @@ -2541,7 +2560,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:656 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" -msgstr "" +msgstr "En Stock" #: src/forms/StockForms.tsx:449 msgid "Move" @@ -2563,7 +2582,7 @@ msgstr "" #: src/pages/stock/StockDetail.tsx:454 #: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" -msgstr "" +msgstr "Agregar" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 @@ -2729,7 +2748,7 @@ msgstr "" #: src/pages/Auth/Login.tsx:87 msgid "Welcome, log in below" -msgstr "" +msgstr "Bienvenido, inicia sesión a continuación" #: src/pages/Auth/Login.tsx:89 msgid "Register below" @@ -3112,7 +3131,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:144 msgid "Primary" -msgstr "" +msgstr "Primario" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 msgid "Verified" @@ -3376,15 +3395,15 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:64 msgid "Login" -msgstr "" +msgstr "Ingresar" #: src/pages/Index/Settings/SystemSettings.tsx:86 msgid "Barcodes" -msgstr "" +msgstr "Códigos de barras" #: src/pages/Index/Settings/SystemSettings.tsx:105 msgid "Pricing" -msgstr "" +msgstr "Precios" #: src/pages/Index/Settings/SystemSettings.tsx:118 #~ msgid "Physical Units" @@ -3394,44 +3413,44 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" -msgstr "" +msgstr "Etiquetas" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" -msgstr "" +msgstr "Informes" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 #: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" -msgstr "" +msgstr "Ordenes de Producción" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" -msgstr "" +msgstr "Cambiar a Configuración de Usuario" #: src/pages/Index/Settings/UserSettings.tsx:29 msgid "Account" -msgstr "" +msgstr "Cuenta" #: src/pages/Index/Settings/UserSettings.tsx:35 msgid "Security" -msgstr "" +msgstr "Seguridad" #: src/pages/Index/Settings/UserSettings.tsx:46 msgid "Display Options" -msgstr "" +msgstr "Opciones de visualización" #: src/pages/Index/Settings/UserSettings.tsx:115 msgid "Account Settings" @@ -3451,7 +3470,7 @@ msgstr "" #: src/pages/NotFound.tsx:17 msgid "Not Found" -msgstr "" +msgstr "No encontrado" #: src/pages/NotFound.tsx:20 msgid "Sorry, this page is not known or was moved." @@ -3720,7 +3739,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" -msgstr "" +msgstr "Proveedor" #: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 @@ -3747,7 +3766,7 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:168 #: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" -msgstr "" +msgstr "Detalles" #: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" @@ -3769,12 +3788,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -3806,13 +3825,13 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 #: src/pages/part/PartDetail.tsx:487 msgid "Parameters" -msgstr "" +msgstr "Parámetros" #: src/pages/company/ManufacturerPartDetail.tsx:158 #: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" -msgstr "" +msgstr "Proveedores" #: src/pages/company/ManufacturerPartDetail.tsx:190 #: src/tables/purchasing/ManufacturerPartTable.tsx:84 @@ -4063,7 +4082,7 @@ msgstr "" #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" -msgstr "" +msgstr "Activo" #: src/pages/part/PartDetail.tsx:271 msgid "Template Part" @@ -4200,7 +4219,7 @@ msgstr "" #: src/pages/stock/StockDetail.tsx:512 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" -msgstr "" +msgstr "En producción" #: src/pages/part/PartDetail.tsx:699 msgid "Edit Part" @@ -4674,26 +4693,26 @@ msgstr "" #: src/pages/stock/StockDetail.tsx:445 msgid "Count stock" -msgstr "" +msgstr "Contar stock" #: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" -msgstr "" +msgstr "Agregar stock" #: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" -msgstr "" +msgstr "Remover stock" #: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" -msgstr "" +msgstr "Transferir" #: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" -msgstr "" +msgstr "Transferir stock" #: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" @@ -5046,11 +5065,11 @@ msgstr "" #: src/tables/part/PartTable.tsx:192 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" -msgstr "" +msgstr "Rastreable" #: src/tables/bom/UsedInTable.tsx:79 msgid "Show trackable assemblies" -msgstr "" +msgstr "Mostrar ensamblajes rastreables" #: src/tables/build/BuildLineTable.tsx:31 #: src/tables/stock/StockItemTable.tsx:270 @@ -5105,14 +5124,14 @@ msgstr "" #: src/tables/build/BuildOrderTable.tsx:109 msgid "Show active orders" -msgstr "" +msgstr "Mostrar órdenes activas" #: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 #: src/tables/sales/SalesOrderTable.tsx:53 msgid "Filter by order status" -msgstr "" +msgstr "Filtrar por estado de la orden" #: src/tables/build/BuildOrderTable.tsx:121 msgid "Show overdue status" @@ -5231,23 +5250,23 @@ msgstr "" #: src/tables/company/AddressTable.tsx:121 #: src/tables/company/AddressTable.tsx:185 msgid "Add Address" -msgstr "" +msgstr "Añadir Dirección" #: src/tables/company/AddressTable.tsx:126 msgid "Address created" -msgstr "" +msgstr "Dirección creada" #: src/tables/company/AddressTable.tsx:135 msgid "Edit Address" -msgstr "" +msgstr "Editar Dirección" #: src/tables/company/AddressTable.tsx:143 msgid "Delete Address" -msgstr "" +msgstr "Eliminar Dirección" #: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" -msgstr "" +msgstr "¿Estás seguro de que deseas eliminar esta dirección?" #: src/tables/company/CompanyTable.tsx:71 #~ msgid "New Company" @@ -5276,7 +5295,7 @@ msgstr "" #: src/tables/company/ContactTable.tsx:71 msgid "Edit Contact" -msgstr "" +msgstr "Editar contacto" #: src/tables/company/ContactTable.tsx:78 msgid "Add Contact" @@ -5284,23 +5303,23 @@ msgstr "" #: src/tables/company/ContactTable.tsx:89 msgid "Delete Contact" -msgstr "" +msgstr "Eliminar contacto" #: src/tables/company/ContactTable.tsx:129 msgid "Add contact" -msgstr "" +msgstr "Agregar contacto" #: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" -msgstr "" +msgstr "Archivo subido" #: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" -msgstr "" +msgstr "Archivo {0} se subió correctamente" #: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" -msgstr "" +msgstr "Error al subir" #: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" @@ -5625,7 +5644,7 @@ msgstr "" #: src/tables/part/PartTable.tsx:67 msgid "Minimum stock" -msgstr "" +msgstr "Stock mínimo" #: src/tables/part/PartTable.tsx:89 msgid "Build Order Allocations" @@ -6142,11 +6161,11 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272 msgid "Add line item" -msgstr "" +msgstr "Añadir Artículo de Línea" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282 msgid "Receive items" -msgstr "" +msgstr "Recibir artículos" #: src/tables/purchasing/SupplierPartTable.tsx:93 msgid "MPN" @@ -6154,7 +6173,7 @@ msgstr "" #: src/tables/purchasing/SupplierPartTable.tsx:122 msgid "Base units" -msgstr "" +msgstr "Unidades base" #: src/tables/purchasing/SupplierPartTable.tsx:170 msgid "Supplier part created" @@ -6202,11 +6221,11 @@ msgstr "" #: src/tables/settings/CurrencyTable.tsx:28 msgid "Rate" -msgstr "" +msgstr "Tarifa" #: src/tables/settings/CurrencyTable.tsx:40 msgid "Exchange rates updated" -msgstr "" +msgstr "Tipos de cambio actualizados" #: src/tables/settings/CurrencyTable.tsx:46 msgid "Exchange rate update error" @@ -6299,7 +6318,7 @@ msgstr "" #: src/tables/settings/GroupTable.tsx:126 msgid "Delete group" -msgstr "" +msgstr "Eliminar grupo" #: src/tables/settings/GroupTable.tsx:127 msgid "Group deleted" @@ -6312,11 +6331,11 @@ msgstr "" #: src/tables/settings/GroupTable.tsx:134 #: src/tables/settings/GroupTable.tsx:146 msgid "Add group" -msgstr "" +msgstr "Agregar grupo" #: src/tables/settings/GroupTable.tsx:158 msgid "Edit group" -msgstr "" +msgstr "Editar grupo" #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" @@ -6336,7 +6355,7 @@ msgstr "" #: src/tables/settings/ProjectCodeTable.tsx:94 msgid "Add project code" -msgstr "" +msgstr "Agregar código de proyecto" #: src/tables/settings/ScheduledTasksTable.tsx:25 msgid "Last Run" @@ -6470,11 +6489,11 @@ msgstr "" #: src/tables/settings/UserTable.tsx:248 msgid "Added user" -msgstr "" +msgstr "Usuario agregado" #: src/tables/settings/UserTable.tsx:270 msgid "Edit user" -msgstr "" +msgstr "Editar usuario" #: src/tables/stock/LocationTypesTable.tsx:36 #: src/tables/stock/LocationTypesTable.tsx:105 @@ -6822,7 +6841,7 @@ msgstr "" #: src/views/MobileAppView.tsx:31 msgid "Read the docs" -msgstr "" +msgstr "Leer la documentación" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" diff --git a/src/frontend/src/locales/fa/messages.po b/src/frontend/src/locales/fa/messages.po index 9b7d897298..89320b9caa 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: 2024-05-23 11:39\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Persian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -48,12 +48,12 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -207,7 +207,7 @@ msgstr "" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" @@ -248,6 +248,35 @@ msgstr "" msgid "Virtual" msgstr "" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "" @@ -334,11 +363,6 @@ msgstr "" msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -967,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1109,7 +1132,7 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1160,7 +1183,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1227,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1257,7 +1280,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1282,7 +1305,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1304,7 +1327,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1385,7 +1408,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -1844,16 +1867,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -3394,22 +3413,22 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3417,7 +3436,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3769,12 +3788,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -6827,3 +6846,4 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" + diff --git a/src/frontend/src/locales/fi/messages.po b/src/frontend/src/locales/fi/messages.po index 3e31431bb3..c66e0f7919 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: 2024-05-23 11:38\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -48,12 +48,12 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -207,7 +207,7 @@ msgstr "" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" @@ -248,6 +248,35 @@ msgstr "" msgid "Virtual" msgstr "" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "" @@ -334,11 +363,6 @@ msgstr "" msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -967,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1109,7 +1132,7 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1160,7 +1183,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1227,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1257,7 +1280,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1282,7 +1305,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1304,7 +1327,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1385,7 +1408,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -1844,16 +1867,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -3394,22 +3413,22 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3417,7 +3436,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3769,12 +3788,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -6827,3 +6846,4 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" + diff --git a/src/frontend/src/locales/fr/messages.po b/src/frontend/src/locales/fr/messages.po index 9a876ad072..7ebe64cb71 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: 2024-05-23 11:38\n" +"PO-Revision-Date: 2024-06-04 12:38\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -20,11 +20,11 @@ msgstr "" #: src/components/Boundary.tsx:12 msgid "Error rendering component" -msgstr "" +msgstr "Erreur lors de l'affichage de l'application" #: src/components/Boundary.tsx:14 msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "" +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" @@ -32,7 +32,7 @@ msgstr "Titre" #: src/components/buttons/AdminButton.tsx:83 msgid "Open in admin interface" -msgstr "" +msgstr "Ouvrir dans l'interface d'administration" #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" @@ -40,20 +40,20 @@ msgstr "Copier dans le Presse-papier" #: src/components/buttons/PrintingActions.tsx:95 msgid "Print Label" -msgstr "" +msgstr "Imprimer l'étiquette" #: src/components/buttons/PrintingActions.tsx:101 msgid "Label printing completed successfully" -msgstr "" +msgstr "Impression terminée avec succès" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -65,31 +65,31 @@ msgstr "Erreur" #: src/components/buttons/PrintingActions.tsx:108 msgid "The label could not be generated" -msgstr "" +msgstr "L'étiquette n'a pas pu être générée" #: src/components/buttons/PrintingActions.tsx:123 msgid "Print Report" -msgstr "" +msgstr "Imprimer le rapport" #: src/components/buttons/PrintingActions.tsx:139 msgid "Report printing completed successfully" -msgstr "" +msgstr "Impression terminée avec succès" #: src/components/buttons/PrintingActions.tsx:145 msgid "The report could not be generated" -msgstr "" +msgstr "Le rapport n'a pas pu être généré" #: src/components/buttons/PrintingActions.tsx:173 msgid "Printing Actions" -msgstr "" +msgstr "Options d'impression" #: src/components/buttons/PrintingActions.tsx:178 msgid "Print Labels" -msgstr "" +msgstr "Imprimer les étiquettes" #: src/components/buttons/PrintingActions.tsx:184 msgid "Print Reports" -msgstr "" +msgstr "Imprimer les rapports" #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" @@ -97,19 +97,19 @@ msgstr "Scanner le QR code" #: src/components/buttons/ScanButton.tsx:20 msgid "Open QR code scanner" -msgstr "" +msgstr "Ouvrir le scanner de code QR" #: src/components/buttons/SpotlightButton.tsx:14 msgid "Open spotlight" -msgstr "" +msgstr "Ouvrir Spotlight" #: src/components/buttons/YesNoButton.tsx:16 msgid "Pass" -msgstr "" +msgstr "Réussi" #: src/components/buttons/YesNoButton.tsx:17 msgid "Fail" -msgstr "" +msgstr "Échec" #: src/components/buttons/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 @@ -123,15 +123,15 @@ msgstr "Non" #: src/components/details/Details.tsx:303 msgid "No name defined" -msgstr "" +msgstr "Aucun nom défini" #: src/components/details/Details.tsx:340 msgid "Copied" -msgstr "" +msgstr "Copié" #: src/components/details/Details.tsx:340 msgid "Copy" -msgstr "" +msgstr "Copier" #: src/components/details/DetailsImage.tsx:65 msgid "Remove Image" @@ -187,7 +187,7 @@ msgstr "Sélectionner parmi les images existantes" #: src/components/details/DetailsImage.tsx:275 msgid "Select Image" -msgstr "" +msgstr "Sélectionner une Image" #: src/components/details/DetailsImage.tsx:287 msgid "Upload new image" @@ -203,15 +203,15 @@ msgstr "Supprimer l'image" #: src/components/details/PartIcons.tsx:28 msgid "Part is not active" -msgstr "" +msgstr "La pièce n'est pas active" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" -msgstr "" +msgstr "Inactif" #: src/components/details/PartIcons.tsx:41 msgid "Part is a template part (variants can be made from this part)" @@ -246,11 +246,40 @@ msgstr "" #: src/tables/part/PartTable.tsx:238 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" +msgstr "Virtuel" + +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "Succès" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" msgstr "" #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" -msgstr "" +msgstr "Code" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 #~ msgid "Failed to parse error response from server." @@ -258,28 +287,28 @@ msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." -msgstr "" +msgstr "Aperçu non disponible, cliquez sur \"Recharger l'aperçu\"." #: src/components/editors/TemplateEditor/PdfPreview/index.tsx:9 msgid "PDF Preview" -msgstr "" +msgstr "Prévisualisation PDF" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" -msgstr "" +msgstr "Erreur lors du chargement du modèle" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" -msgstr "" +msgstr "Erreur lors de l'enregistrement du modèle" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 msgid "Save & Reload Preview" -msgstr "" +msgstr "Enregistrer & Recharger l'aperçu" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" -msgstr "" +msgstr "Êtes-vous sûr de vouloir enregistrer et recharger l'aperçu ?" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 #~ msgid "Save & Reload preview?" @@ -299,11 +328,11 @@ msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." -msgstr "" +msgstr "L'aperçu a été mis à jour avec succès." #: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" -msgstr "" +msgstr "Recharger l’aperçu" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" @@ -334,11 +363,6 @@ msgstr "" msgid "Form Error" msgstr "Erreur de formulaire" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "Succès" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "Ajouter un hôte" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "Enregistrer" @@ -967,7 +990,7 @@ msgstr "Paramètres du compte" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "Les paramètres du système" @@ -1109,7 +1132,7 @@ msgstr "Pièce" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1160,7 +1183,7 @@ msgid "Part Category" msgstr "Catégorie de composant" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1227,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "Société" @@ -1257,7 +1280,7 @@ msgid "Purchase Order" msgstr "Commande d’achat" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1282,7 +1305,7 @@ msgid "Sales Order" msgstr "Ventes" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1304,7 +1327,7 @@ msgid "Return Order" msgstr "Retour de commande" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1385,7 +1408,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -1844,16 +1867,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -3394,22 +3413,22 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3417,7 +3436,7 @@ msgstr "" msgid "Build Orders" msgstr "Ordres de fabrication" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3769,12 +3788,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -6827,3 +6846,4 @@ msgstr "Lire la documentation" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" + diff --git a/src/frontend/src/locales/he/messages.po b/src/frontend/src/locales/he/messages.po index 87247d8c22..b44bb48f61 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: 2024-05-23 11:38\n" +"PO-Revision-Date: 2024-06-04 12:39\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" @@ -48,12 +48,12 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -207,7 +207,7 @@ msgstr "" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" @@ -248,6 +248,35 @@ msgstr "" msgid "Virtual" msgstr "" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "" @@ -334,11 +363,6 @@ msgstr "" msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -967,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1109,7 +1132,7 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1160,7 +1183,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1227,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1257,7 +1280,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1282,7 +1305,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1304,7 +1327,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1385,7 +1408,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -1844,16 +1867,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -3394,22 +3413,22 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3417,7 +3436,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3769,12 +3788,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -6827,3 +6846,4 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" + diff --git a/src/frontend/src/locales/hi/messages.po b/src/frontend/src/locales/hi/messages.po index 3068c92a79..5bd85ddde3 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: 2024-05-23 11:39\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -48,12 +48,12 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -207,7 +207,7 @@ msgstr "" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" @@ -248,6 +248,35 @@ msgstr "" msgid "Virtual" msgstr "" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "" @@ -334,11 +363,6 @@ msgstr "" msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "सुरक्षित करें" @@ -967,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1109,7 +1132,7 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1160,7 +1183,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1227,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1257,7 +1280,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1282,7 +1305,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1304,7 +1327,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1385,7 +1408,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -1844,16 +1867,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -3394,22 +3413,22 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3417,7 +3436,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3769,12 +3788,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -6827,3 +6846,4 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" + diff --git a/src/frontend/src/locales/hu/messages.po b/src/frontend/src/locales/hu/messages.po index 1a19686ad1..7471cb20b5 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: 2024-05-23 11:38\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -48,12 +48,12 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -207,7 +207,7 @@ msgstr "Az alkatrész nem aktív" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" @@ -248,6 +248,35 @@ msgstr "Virtuális (nem kézzelfogható alkatrész)" msgid "Virtual" msgstr "Virtuális" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "Siker" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "Megjegyzések mentése nem sikerült" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "Kód" @@ -334,11 +363,6 @@ msgstr "Hiba a sablon megjelenítésekor" msgid "Form Error" msgstr "Form hiba" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "Siker" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "Kiszolgáló hozzáadása" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "Mentés" @@ -967,7 +990,7 @@ msgstr "Fiókbeállítások" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "Rendszerbeállítások" @@ -1109,7 +1132,7 @@ msgstr "Alkatrész" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1160,7 +1183,7 @@ msgid "Part Category" msgstr "Alkatrész kategória" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1227,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "Cég" @@ -1257,7 +1280,7 @@ msgid "Purchase Order" msgstr "Beszerzési rendelés" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1282,7 +1305,7 @@ msgid "Sales Order" msgstr "Vevői rendelés" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1304,7 +1327,7 @@ msgid "Return Order" msgstr "Visszavétel" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1385,7 +1408,7 @@ msgstr "Szállítmány" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -1844,16 +1867,12 @@ msgid "Getting started" msgstr "Első lépések" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "Nem sikerült a kép feltöltése" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "Megjegyzések elmentve" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "Megjegyzések mentése nem sikerült" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -3394,22 +3413,22 @@ msgstr "Árazás" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "Címkék" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "Riportolás" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "Leltár" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3417,7 +3436,7 @@ msgstr "Leltár" msgid "Build Orders" msgstr "Gyártási utasítások" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "Felhasználói beállításra váltás" @@ -3769,12 +3788,12 @@ msgstr "Szállított alkatrészek" msgid "Assigned Stock" msgstr "Hozzárendelt készlet" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "Cég szerkesztése" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "Cég műveletek" @@ -6827,3 +6846,4 @@ msgstr "Olvasd el a dokumentációt" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" + diff --git a/src/frontend/src/locales/id/messages.po b/src/frontend/src/locales/id/messages.po index 1b1d1f31ce..8247bdfbe6 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: 2024-05-23 11:39\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -46,14 +46,14 @@ msgstr "" msgid "Label printing completed successfully" msgstr "" -#: src/components/buttons/PrintingActions.tsx:106 -#: src/components/buttons/PrintingActions.tsx:143 -#: src/components/forms/ApiForm.tsx:504 +#: src/components/buttons/PrintingActions.tsx:107 +#: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 +#: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -63,31 +63,31 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/buttons/PrintingActions.tsx:107 +#: src/components/buttons/PrintingActions.tsx:108 msgid "The label could not be generated" msgstr "" -#: src/components/buttons/PrintingActions.tsx:122 +#: src/components/buttons/PrintingActions.tsx:123 msgid "Print Report" msgstr "" -#: src/components/buttons/PrintingActions.tsx:138 +#: src/components/buttons/PrintingActions.tsx:139 msgid "Report printing completed successfully" msgstr "" -#: src/components/buttons/PrintingActions.tsx:144 +#: src/components/buttons/PrintingActions.tsx:145 msgid "The report could not be generated" msgstr "" -#: src/components/buttons/PrintingActions.tsx:171 +#: src/components/buttons/PrintingActions.tsx:173 msgid "Printing Actions" msgstr "" -#: src/components/buttons/PrintingActions.tsx:176 +#: src/components/buttons/PrintingActions.tsx:178 msgid "Print Labels" msgstr "" -#: src/components/buttons/PrintingActions.tsx:182 +#: src/components/buttons/PrintingActions.tsx:184 msgid "Print Reports" msgstr "" @@ -175,7 +175,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:571 +#: src/components/forms/ApiForm.tsx:573 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -207,9 +207,9 @@ msgstr "" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:686 msgid "Inactive" msgstr "" @@ -248,6 +248,35 @@ msgstr "" msgid "Virtual" msgstr "" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "" @@ -329,26 +358,21 @@ msgstr "" msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:148 +#: src/components/forms/ApiForm.tsx:149 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:428 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:609 +#: src/components/forms/ApiForm.tsx:611 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:629 +#: src/components/forms/ApiForm.tsx:631 #: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 @@ -527,7 +551,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:126 +#: src/pages/part/PartDetail.tsx:127 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -967,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:294 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1053,13 +1076,6 @@ msgstr "" msgid "Mark as read" msgstr "" -#: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:249 -msgid "Part Categories" -msgstr "" - #: src/components/nav/SearchDrawer.tsx:77 msgid "results" msgstr "" @@ -1092,12 +1108,6 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:185 -msgid "Stock Locations" -msgstr "" - #: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" @@ -1113,7 +1123,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:828 +#: src/pages/part/PartDetail.tsx:832 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1122,11 +1132,11 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:640 msgid "Parts" msgstr "" @@ -1168,12 +1178,20 @@ msgid "Manufacturer Parts" msgstr "" #: src/components/render/ModelType.tsx:63 -#: src/pages/part/CategoryDetail.tsx:288 +#: src/pages/part/CategoryDetail.tsx:291 msgid "Part Category" msgstr "" +#: src/components/render/ModelType.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/part/CategoryDetail.tsx:249 +#: src/pages/part/CategoryDetail.tsx:282 +#: src/pages/part/PartDetail.tsx:822 +msgid "Part Categories" +msgstr "" + #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:548 +#: src/pages/stock/StockDetail.tsx:560 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1182,7 +1200,7 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:199 #: src/pages/stock/LocationDetail.tsx:118 #: src/pages/stock/LocationDetail.tsx:171 -#: src/pages/stock/LocationDetail.tsx:365 +#: src/pages/stock/LocationDetail.tsx:369 msgid "Stock Items" msgstr "" @@ -1190,6 +1208,13 @@ msgstr "" msgid "Stock Location" msgstr "" +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 +#: src/pages/stock/LocationDetail.tsx:361 +#: src/pages/stock/StockDetail.tsx:552 +msgid "Stock Locations" +msgstr "" + #: src/components/render/ModelType.tsx:90 msgid "Stock Location Type" msgstr "" @@ -1225,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1255,10 +1280,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1280,9 +1305,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:578 +#: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1302,7 +1327,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1383,9 +1408,9 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 -#: src/pages/part/PartDetail.tsx:492 -#: src/pages/stock/LocationDetail.tsx:344 +#: src/pages/Index/Settings/SystemSettings.tsx:200 +#: src/pages/part/PartDetail.tsx:493 +#: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" @@ -1393,7 +1418,7 @@ msgstr "" #: src/components/render/Stock.tsx:52 #: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:514 +#: src/pages/stock/StockDetail.tsx:517 msgid "Serial Number" msgstr "" @@ -1402,7 +1427,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:144 #: src/pages/part/pricing/PriceBreakPanel.tsx:94 #: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:520 +#: src/pages/stock/StockDetail.tsx:523 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -1842,16 +1867,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -2535,8 +2556,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:206 -#: src/pages/part/PartDetail.tsx:655 +#: src/pages/part/PartDetail.tsx:207 +#: src/pages/part/PartDetail.tsx:656 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2578,12 +2599,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count Stock" msgstr "" @@ -3392,30 +3413,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 -#: src/pages/part/PartDetail.tsx:590 +#: src/pages/Index/Settings/SystemSettings.tsx:225 +#: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:527 #: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:297 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3499,7 +3520,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:133 +#: src/pages/part/PartDetail.tsx:134 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 #: src/pages/sales/ReturnOrderDetail.tsx:91 #: src/pages/sales/SalesOrderDetail.tsx:95 @@ -3535,7 +3556,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:321 +#: src/pages/part/PartDetail.tsx:322 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 #: src/pages/sales/ReturnOrderDetail.tsx:184 #: src/pages/sales/SalesOrderDetail.tsx:188 @@ -3592,7 +3613,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:535 msgid "Batch Code" msgstr "" @@ -3636,7 +3657,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:612 +#: src/pages/part/PartDetail.tsx:613 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 #: src/pages/sales/ReturnOrderDetail.tsx:227 #: src/pages/sales/SalesOrderDetail.tsx:275 @@ -3646,7 +3667,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:625 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:239 #: src/pages/sales/SalesOrderDetail.tsx:287 @@ -3767,12 +3788,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -3802,12 +3823,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:487 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:559 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3967,85 +3988,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:139 +#: src/pages/part/PartDetail.tsx:140 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:147 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:153 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:159 +#: src/pages/part/PartDetail.tsx:160 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:167 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:173 +#: src/pages/part/PartDetail.tsx:174 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:180 +#: src/pages/part/PartDetail.tsx:181 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:187 +#: src/pages/part/PartDetail.tsx:188 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:194 +#: src/pages/part/PartDetail.tsx:195 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 #: src/pages/sales/ReturnOrderDetail.tsx:150 #: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:213 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:219 +#: src/pages/part/PartDetail.tsx:220 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:225 +#: src/pages/part/PartDetail.tsx:226 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:234 +#: src/pages/part/PartDetail.tsx:235 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:242 +#: src/pages/part/PartDetail.tsx:243 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:249 +#: src/pages/part/PartDetail.tsx:250 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:256 +#: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:266 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4063,37 +4084,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:270 +#: src/pages/part/PartDetail.tsx:271 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:276 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:280 +#: src/pages/part/PartDetail.tsx:281 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:285 +#: src/pages/part/PartDetail.tsx:286 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:290 +#: src/pages/part/PartDetail.tsx:291 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:296 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:300 +#: src/pages/part/PartDetail.tsx:301 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:308 +#: src/pages/part/PartDetail.tsx:309 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4102,7 +4123,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 +#: src/pages/part/PartDetail.tsx:314 msgid "Created By" msgstr "" @@ -4114,68 +4135,69 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:328 +#: src/pages/part/PartDetail.tsx:329 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:340 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:375 #: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:410 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:481 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:507 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:514 #: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:519 +#: src/pages/part/PartDetail.tsx:520 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:534 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:540 +#: src/pages/part/PartDetail.tsx:541 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:546 +#: src/pages/part/PartDetail.tsx:547 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:585 +#: src/pages/part/PartDetail.tsx:586 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:595 +#: src/pages/part/PartDetail.tsx:596 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:607 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:662 #: src/pages/stock/StockDetail.tsx:151 +#: src/pages/stock/StockDetail.tsx:529 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4183,55 +4205,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:668 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 +#: src/pages/part/PartDetail.tsx:674 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/part/PartDetail.tsx:680 +#: src/pages/stock/StockDetail.tsx:512 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:699 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 +#: src/pages/part/PartDetail.tsx:706 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:718 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:727 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 -#: src/pages/stock/LocationDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:765 +#: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:773 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:784 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:793 msgid "Part Actions" msgstr "" @@ -4566,13 +4588,13 @@ msgid "Default Parts" msgstr "" #: src/pages/stock/LocationDetail.tsx:210 -#: src/pages/stock/LocationDetail.tsx:328 +#: src/pages/stock/LocationDetail.tsx:329 #: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" #: src/pages/stock/LocationDetail.tsx:231 -#: src/pages/stock/LocationDetail.tsx:333 +#: src/pages/stock/LocationDetail.tsx:334 msgid "Delete Stock Location" msgstr "" @@ -4592,7 +4614,7 @@ msgstr "" msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:323 +#: src/pages/stock/LocationDetail.tsx:324 msgid "Location Actions" msgstr "" @@ -5500,20 +5522,20 @@ msgstr "" msgid "Message" msgstr "" -#: src/tables/part/ParametricPartTable.tsx:75 +#: src/tables/part/ParametricPartTable.tsx:76 #: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" -#: src/tables/part/ParametricPartTable.tsx:80 +#: src/tables/part/ParametricPartTable.tsx:81 msgid "Edit parameter" msgstr "" -#: src/tables/part/ParametricPartTable.tsx:133 +#: src/tables/part/ParametricPartTable.tsx:124 msgid "Add Part Parameter" msgstr "" -#: src/tables/part/ParametricPartTable.tsx:147 +#: src/tables/part/ParametricPartTable.tsx:138 #: src/tables/part/PartParameterTable.tsx:121 #: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" diff --git a/src/frontend/src/locales/it/messages.po b/src/frontend/src/locales/it/messages.po index 80038bff3f..fb4c84035d 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: 2024-05-23 11:38\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Italian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -48,12 +48,12 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -207,7 +207,7 @@ msgstr "" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" @@ -248,6 +248,35 @@ msgstr "L'Articolo è virtuale (non è un articolo fisico)" msgid "Virtual" msgstr "Virtuale" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "Codice" @@ -334,11 +363,6 @@ msgstr "" msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -967,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1109,7 +1132,7 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1160,7 +1183,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1227,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1257,7 +1280,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1282,7 +1305,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1304,7 +1327,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1385,7 +1408,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -1844,16 +1867,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -3394,22 +3413,22 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3417,7 +3436,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3769,12 +3788,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -6827,3 +6846,4 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" + diff --git a/src/frontend/src/locales/ja/messages.po b/src/frontend/src/locales/ja/messages.po index 56228aa92d..9b2724a1d5 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: 2024-05-23 11:38\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -48,12 +48,12 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -207,7 +207,7 @@ msgstr "" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" @@ -248,6 +248,35 @@ msgstr "" msgid "Virtual" msgstr "仮想部品" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "" @@ -334,11 +363,6 @@ msgstr "" msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "ホストを追加" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "保存" @@ -967,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1109,7 +1132,7 @@ msgstr "パーツ" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1160,7 +1183,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1227,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1257,7 +1280,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1282,7 +1305,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1304,7 +1327,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1385,7 +1408,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -1844,16 +1867,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "メモを保存しました" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -3394,22 +3413,22 @@ msgstr "価格" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3417,7 +3436,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3769,12 +3788,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -6827,3 +6846,4 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" + diff --git a/src/frontend/src/locales/ko/messages.po b/src/frontend/src/locales/ko/messages.po index 60b1e56ebc..e3ad255f77 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: 2024-05-23 11:38\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Korean\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -48,12 +48,12 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -207,7 +207,7 @@ msgstr "" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" @@ -248,6 +248,35 @@ msgstr "" msgid "Virtual" msgstr "" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "" @@ -334,11 +363,6 @@ msgstr "" msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -967,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1109,7 +1132,7 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1160,7 +1183,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1227,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1257,7 +1280,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1282,7 +1305,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1304,7 +1327,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1385,7 +1408,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -1844,16 +1867,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -3394,22 +3413,22 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3417,7 +3436,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3769,12 +3788,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -6827,3 +6846,4 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" + diff --git a/src/frontend/src/locales/lv/messages.po b/src/frontend/src/locales/lv/messages.po index 414c91c262..20aa3d6879 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: 2024-05-23 11:39\n" +"PO-Revision-Date: 2024-06-04 12: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" @@ -48,12 +48,12 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -207,7 +207,7 @@ msgstr "" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" @@ -248,6 +248,35 @@ msgstr "" msgid "Virtual" msgstr "" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "" @@ -334,11 +363,6 @@ msgstr "" msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -967,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1109,7 +1132,7 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1160,7 +1183,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1227,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1257,7 +1280,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1282,7 +1305,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1304,7 +1327,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1385,7 +1408,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -1844,16 +1867,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -3394,22 +3413,22 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3417,7 +3436,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3769,12 +3788,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -6827,3 +6846,4 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" + diff --git a/src/frontend/src/locales/nl/messages.po b/src/frontend/src/locales/nl/messages.po index 9ff26dcc7e..6e3c4c758c 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: 2024-05-23 11:39\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -48,12 +48,12 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -207,7 +207,7 @@ msgstr "Onderdeel is niet actief" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" @@ -248,6 +248,35 @@ msgstr "Onderdeel is virtueel (geen fysiek onderdeel)" msgid "Virtual" msgstr "Virtueel" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "Code" @@ -334,11 +363,6 @@ msgstr "" msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -967,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1109,7 +1132,7 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1160,7 +1183,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1227,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1257,7 +1280,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1282,7 +1305,7 @@ msgid "Sales Order" msgstr "Verkooporder" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1304,7 +1327,7 @@ msgid "Return Order" msgstr "Retourorder" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1385,7 +1408,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -1844,16 +1867,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -3394,22 +3413,22 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3417,7 +3436,7 @@ msgstr "" msgid "Build Orders" msgstr "Productieorders" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3769,12 +3788,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -6827,3 +6846,4 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" + diff --git a/src/frontend/src/locales/no/messages.po b/src/frontend/src/locales/no/messages.po index eddcbda376..338a0ed524 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: 2024-05-23 11:39\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -48,12 +48,12 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -207,7 +207,7 @@ msgstr "" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" @@ -248,6 +248,35 @@ msgstr "" msgid "Virtual" msgstr "Virtuell" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "Suksess" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "Kunne ikke lagre notater" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "" @@ -334,11 +363,6 @@ msgstr "" msgid "Form Error" msgstr "Skjemafeil" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "Suksess" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "Legg til vert" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "Lagre" @@ -967,7 +990,7 @@ msgstr "Kontoinnstillinger" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "Systeminnstillinger" @@ -1109,7 +1132,7 @@ msgstr "Del" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1160,7 +1183,7 @@ msgid "Part Category" msgstr "Delkategori" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1227,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "Firma" @@ -1257,7 +1280,7 @@ msgid "Purchase Order" msgstr "Innkjøpsordre" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1282,7 +1305,7 @@ msgid "Sales Order" msgstr "Salgsordre" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1304,7 +1327,7 @@ msgid "Return Order" msgstr "Returordre" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1385,7 +1408,7 @@ msgstr "Forsendelse" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -1844,16 +1867,12 @@ msgid "Getting started" msgstr "Komme i gang" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "Opplasting av bilde mislyktes" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "Notater lagret" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "Kunne ikke lagre notater" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -3394,22 +3413,22 @@ msgstr "Prising" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "Etiketter" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "Rapportering" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "Lagertelling" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3417,7 +3436,7 @@ msgstr "Lagertelling" msgid "Build Orders" msgstr "Produksjonsordrer" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "Bytt til brukerinnstilling" @@ -3769,12 +3788,12 @@ msgstr "Leverte Deler" msgid "Assigned Stock" msgstr "Tildelt lagerbeholdning" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "Rediger Bedrift" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "Bedriftshandlinger" @@ -6827,3 +6846,4 @@ msgstr "Les dokumentasjonen" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" + diff --git a/src/frontend/src/locales/pl/messages.po b/src/frontend/src/locales/pl/messages.po index 348cd697ae..f51c3e3271 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: 2024-05-23 11:39\n" +"PO-Revision-Date: 2024-06-04 12:39\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" @@ -48,12 +48,12 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -207,7 +207,7 @@ msgstr "" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" @@ -248,6 +248,35 @@ msgstr "" msgid "Virtual" msgstr "" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "" @@ -334,11 +363,6 @@ msgstr "" msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -967,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1109,7 +1132,7 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1160,7 +1183,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1227,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1257,7 +1280,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1282,7 +1305,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1304,7 +1327,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1385,7 +1408,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -1844,16 +1867,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -3394,22 +3413,22 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3417,7 +3436,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3769,12 +3788,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -6827,3 +6846,4 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" + diff --git a/src/frontend/src/locales/pseudo-LOCALE/messages.po b/src/frontend/src/locales/pseudo-LOCALE/messages.po index 65df48ca91..64d901c414 100644 --- a/src/frontend/src/locales/pseudo-LOCALE/messages.po +++ b/src/frontend/src/locales/pseudo-LOCALE/messages.po @@ -1006,7 +1006,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1148,7 +1148,7 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1199,7 +1199,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1296,7 +1296,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1321,7 +1321,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1343,7 +1343,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1424,7 +1424,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -3433,22 +3433,22 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3456,7 +3456,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" diff --git a/src/frontend/src/locales/pt-br/messages.po b/src/frontend/src/locales/pt-br/messages.po index 9b0a9e7e48..47136e0bf7 100644 --- a/src/frontend/src/locales/pt-br/messages.po +++ b/src/frontend/src/locales/pt-br/messages.po @@ -943,7 +943,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1077,7 +1077,7 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1128,7 +1128,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1225,7 +1225,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1250,7 +1250,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1272,7 +1272,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1353,7 +1353,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -3154,22 +3154,22 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3177,7 +3177,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" diff --git a/src/frontend/src/locales/pt/messages.po b/src/frontend/src/locales/pt/messages.po index 7097778d5a..18232b0cd2 100644 --- a/src/frontend/src/locales/pt/messages.po +++ b/src/frontend/src/locales/pt/messages.po @@ -8,13 +8,13 @@ msgstr "" "Language: pt\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-06-01 12:35\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" -"Language-Team: Portuguese\n" +"Language-Team: Portuguese, Brazilian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" -"X-Crowdin-Language: pt-PT\n" +"X-Crowdin-Language: pt-BR\n" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" @@ -24,7 +24,7 @@ msgstr "Erro ao renderizar componente" #: src/components/Boundary.tsx:14 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." +msgstr "Um erro ocorreu ao renderizar este componente. Verifique o console para mais informações." #: src/components/DashboardItemProxy.tsx:34 msgid "Title" @@ -32,7 +32,7 @@ msgstr "Título" #: src/components/buttons/AdminButton.tsx:83 msgid "Open in admin interface" -msgstr "Abrir na interface de administrador" +msgstr "Abrir na página de administrador" #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" @@ -40,20 +40,20 @@ msgstr "Copiar para área de transferência" #: src/components/buttons/PrintingActions.tsx:95 msgid "Print Label" -msgstr "Imprimir Etiqueta" +msgstr "Imprimir etiqueta" #: src/components/buttons/PrintingActions.tsx:101 msgid "Label printing completed successfully" -msgstr "Impressão de etiquetas concluída com sucesso" +msgstr "Impressão de etiqueta finalizada com sucesso" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -65,7 +65,7 @@ msgstr "Erro" #: src/components/buttons/PrintingActions.tsx:108 msgid "The label could not be generated" -msgstr "A etiqueta não pôde ser gerada" +msgstr "A etiqueta não pode ser gerada" #: src/components/buttons/PrintingActions.tsx:123 msgid "Print Report" @@ -73,15 +73,15 @@ msgstr "Imprimir Relatório" #: src/components/buttons/PrintingActions.tsx:139 msgid "Report printing completed successfully" -msgstr "Impressão de relatório concluída com sucesso" +msgstr "Impressão de relatório finalizado com sucesso" #: src/components/buttons/PrintingActions.tsx:145 msgid "The report could not be generated" -msgstr "O relatório não pôde ser gerado" +msgstr "O relatório não pode ser gerado" #: src/components/buttons/PrintingActions.tsx:173 msgid "Printing Actions" -msgstr "Opções de Impressão" +msgstr "Ações de Impressão" #: src/components/buttons/PrintingActions.tsx:178 msgid "Print Labels" @@ -93,7 +93,7 @@ msgstr "Imprimir Relatórios" #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" -msgstr "Ler código QR" +msgstr "Escanear código QR" #: src/components/buttons/ScanButton.tsx:20 msgid "Open QR code scanner" @@ -101,15 +101,15 @@ msgstr "Abrir leitor de código QR" #: src/components/buttons/SpotlightButton.tsx:14 msgid "Open spotlight" -msgstr "Abrir Destaques" +msgstr "Abrir spotlight" #: src/components/buttons/YesNoButton.tsx:16 msgid "Pass" -msgstr "Aprovar" +msgstr "Aprovado" #: src/components/buttons/YesNoButton.tsx:17 msgid "Fail" -msgstr "Falhou" +msgstr "Reprovado" #: src/components/buttons/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 @@ -123,11 +123,11 @@ msgstr "Não" #: src/components/details/Details.tsx:303 msgid "No name defined" -msgstr "Nenhum nome definido" +msgstr "Sem nome definido" #: src/components/details/Details.tsx:340 msgid "Copied" -msgstr "Copiado" +msgstr "Copiada" #: src/components/details/Details.tsx:340 msgid "Copy" @@ -135,11 +135,11 @@ msgstr "Copiar" #: src/components/details/DetailsImage.tsx:65 msgid "Remove Image" -msgstr "Remover imagem" +msgstr "Remover Imagem" #: src/components/details/DetailsImage.tsx:68 msgid "Remove the associated image from this item?" -msgstr "Remover a imagem associada a este item?" +msgstr "Remover imagem associada a este item?" #: src/components/details/DetailsImage.tsx:71 #: src/forms/StockForms.tsx:483 @@ -147,7 +147,7 @@ msgstr "Remover a imagem associada a este item?" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 #: src/pages/stock/StockDetail.tsx:462 msgid "Remove" -msgstr "Eliminar" +msgstr "Remover" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 @@ -164,7 +164,7 @@ msgstr "Cancelar" #: src/components/details/DetailsImage.tsx:97 msgid "Drag and drop to upload" -msgstr "Arraste e solte para carregar ficheiro" +msgstr "Arraste e solte para carregar" #: src/components/details/DetailsImage.tsx:100 msgid "Click to select file(s)" @@ -172,7 +172,7 @@ msgstr "Clique para selecionar o(s) arquivo(s)" #: src/components/details/DetailsImage.tsx:224 msgid "Clear" -msgstr "Apagar" +msgstr "Limpar" #: src/components/details/DetailsImage.tsx:227 #: src/components/forms/ApiForm.tsx:573 @@ -183,7 +183,7 @@ msgstr "Enviar" #: src/components/details/DetailsImage.tsx:267 msgid "Select from existing images" -msgstr "Selecionar uma imagem existente" +msgstr "Selecionar de imagens existentes" #: src/components/details/DetailsImage.tsx:275 msgid "Select Image" @@ -195,19 +195,19 @@ msgstr "Carregar nova imagem" #: src/components/details/DetailsImage.tsx:294 msgid "Upload Image" -msgstr "Carregar Imagem" +msgstr "Enviar Imagem" #: src/components/details/DetailsImage.tsx:307 msgid "Delete image" -msgstr "Eliminar imagem" +msgstr "Excluir imagem" #: src/components/details/PartIcons.tsx:28 msgid "Part is not active" -msgstr "A peça não está ativa" +msgstr "Peça inativa" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" @@ -215,7 +215,7 @@ msgstr "Inativo" #: src/components/details/PartIcons.tsx:41 msgid "Part is a template part (variants can be made from this part)" -msgstr "A peça é um modelo (as variantes podem ser feitas a partir desta parte)" +msgstr "Esta é uma peça modelo (as variantes podem ser feitas a partir desta peça)" #: src/components/details/PartIcons.tsx:47 msgid "Part can be assembled from other parts" @@ -227,19 +227,19 @@ msgstr "Peça pode ser usada em montagens" #: src/components/details/PartIcons.tsx:59 msgid "Part stock is tracked by serial number" -msgstr "“Item” de \"stock\" é controlada por número de série" +msgstr "Peça em estoque é controlada por número de série" #: src/components/details/PartIcons.tsx:65 msgid "Part can be purchased from external suppliers" -msgstr "Peça pode ser comprada a fornecedores externos" +msgstr "Peça pode ser comprada de fornecedores externos" #: src/components/details/PartIcons.tsx:71 msgid "Part can be sold to customers" -msgstr "Peça pode ser vendida aos clientes" +msgstr "Peça pode ser vendida a clientes" #: src/components/details/PartIcons.tsx:76 msgid "Part is virtual (not a physical part)" -msgstr "A peça é virtual (não é uma peça física)" +msgstr "Peça é virtual (não é física)" #: src/components/details/PartIcons.tsx:82 #: src/tables/part/PartTable.tsx:234 @@ -248,6 +248,35 @@ msgstr "A peça é virtual (não é uma peça física)" msgid "Virtual" msgstr "Virtual" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "Sucesso" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "Falha em salvar notas" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "Código" @@ -258,28 +287,28 @@ msgstr "Código" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." -msgstr "Pré-visualização não disponível, clique em \"Recarregar Pré-visualização\"." +msgstr "Pré-visualização indisponível, clique em \"Recarregar Pré-visualização\"." #: src/components/editors/TemplateEditor/PdfPreview/index.tsx:9 msgid "PDF Preview" -msgstr "Pré-visualização de PDF" +msgstr "Visualizar PDF" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" -msgstr "Erro ao carregar modelo" +msgstr "Erro ao carregar template" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" -msgstr "Erro a guardar o modelo" +msgstr "Erro ao salvar o template" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 msgid "Save & Reload Preview" -msgstr "Guardar & Recarregar a pré-visualização" +msgstr "Salvar e Recarregar Prévia" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" -msgstr "Tem certeza de que deseja Guardar & Recarregar a pré-visualização?" +msgstr "Tem certeza de que deseja salvar e recarregar a visualização?" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 #~ msgid "Save & Reload preview?" @@ -287,28 +316,27 @@ msgstr "Tem certeza de que deseja Guardar & Recarregar a pré-visualização?" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" -msgstr "Para ver esta pré-visualização o modelo atual precisa ser substituído no servidor com as suas modificações, o que pode fazer com que \n" -"o modelo atual deixe de funcionar. Deseja continuar?" +msgstr "Para renderizar a prévia, o modelo atual necessita ser substituído, no servidor, com suas modificações, que podem levar a quebra da etiqueta caso a etiqueta esteja sendo utilizada de forma ativa. Você deseja prosseguir?" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" -msgstr "Guardar & Recarregar" +msgstr "Salvar & Recarregar" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" -msgstr "Pré-visualização atualizada" +msgstr "Visualizar Atualização" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." -msgstr "A pré-visualização foi atualizada com sucesso." +msgstr "A pré-visualização foi atualizado com sucesso." #: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" -msgstr "Atualizar pré-visualização" +msgstr "Recarregar pré-visualização" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" -msgstr "Utilizar o modelo guardado atualmente no servidor" +msgstr "Use o modelo armazenado atualmente no servidor" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 #~ msgid "Save & Reload preview" @@ -316,7 +344,7 @@ msgstr "Utilizar o modelo guardado atualmente no servidor" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" -msgstr "Salvar o modelo atual e recarregar a visualização" +msgstr "Salvar o modelo atual e recarregar a pré-visualização" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 #~ msgid "to preview" @@ -324,21 +352,16 @@ msgstr "Salvar o modelo atual e recarregar a visualização" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 msgid "Select instance to preview" -msgstr "Selecionar instância para pré-visualização" +msgstr "Selecione a instância para pré-visualizar" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" -msgstr "Erro ao renderizar modelo" +msgstr "Erro ao carregar template" #: src/components/forms/ApiForm.tsx:149 #: src/functions/forms.tsx:259 msgid "Form Error" -msgstr "Erro de formulário" - -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "Sucesso" +msgstr "Erro no formulário" #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" @@ -359,7 +382,7 @@ msgstr "Atualizar" #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" -msgstr "Eliminar" +msgstr "Excluir" #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 @@ -369,11 +392,11 @@ msgstr "Eliminar" #: src/components/forms/AuthenticationForm.tsx:51 msgid "Login successful" -msgstr "Inicio de sessão com sucesso" +msgstr "Acesso bem-sucedido" #: src/components/forms/AuthenticationForm.tsx:52 msgid "Logged in successfully" -msgstr "Sessão iniciada com sucesso" +msgstr "Login realizado com sucesso!" #: src/components/forms/AuthenticationForm.tsx:52 #~ msgid "Welcome back!" @@ -385,14 +408,14 @@ msgstr "Sessão iniciada com sucesso" #: src/components/forms/AuthenticationForm.tsx:58 msgid "Login failed" -msgstr "Não foi possível iniciar a sessão" +msgstr "Falha ao acessar" #: src/components/forms/AuthenticationForm.tsx:59 #: src/components/forms/AuthenticationForm.tsx:76 #: src/components/forms/AuthenticationForm.tsx:211 #: src/functions/auth.tsx:123 msgid "Check your input and try again." -msgstr "Verifique suas informações e tente novamente." +msgstr "Verifique sua entrada e tente novamente." #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 @@ -402,45 +425,45 @@ msgstr "Verifique suas informações e tente novamente." #: src/components/forms/AuthenticationForm.tsx:70 #: src/functions/auth.tsx:114 msgid "Mail delivery successful" -msgstr "Envio bem sucedido" +msgstr "Envio de e-mail concluído" #: src/components/forms/AuthenticationForm.tsx:71 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." -msgstr "Verifique na sua caixa de correio o link de login. Se tiver uma conta, irá receber um link de login. Verifique também a caixa de spam." +msgstr "Verifique sua caixa de entrada para o link de acesso. Se você tiver uma conta, você receberá um link de acesso. Também verifique o spam." #: src/components/forms/AuthenticationForm.tsx:75 msgid "Mail delivery failed" -msgstr "Falha na entrega de e-mail" +msgstr "Envio de email falhou" #: src/components/forms/AuthenticationForm.tsx:95 msgid "Or continue with other methods" -msgstr "Ou continuar com outros métodos" +msgstr "Ou continue com outros métodos" #: src/components/forms/AuthenticationForm.tsx:106 #: src/components/forms/AuthenticationForm.tsx:227 msgid "Username" -msgstr "Nome de utilizador" +msgstr "Nome de usuário" #: src/components/forms/AuthenticationForm.tsx:107 #: src/components/forms/AuthenticationForm.tsx:228 msgid "Your username" -msgstr "O seu nome de utilizador" +msgstr "Seu nome de usuário" #: src/components/forms/AuthenticationForm.tsx:112 #: src/components/forms/AuthenticationForm.tsx:240 #: src/pages/Auth/Set-Password.tsx:106 msgid "Password" -msgstr "Palavra-chave" +msgstr "Senha" #: src/components/forms/AuthenticationForm.tsx:113 #: src/components/forms/AuthenticationForm.tsx:241 msgid "Your password" -msgstr "A sua palavra-passe" +msgstr "Sua senha" #: src/components/forms/AuthenticationForm.tsx:125 #: src/pages/Auth/Reset.tsx:26 msgid "Reset password" -msgstr "Redefinir palavra-passe" +msgstr "Redefinir senha" #: src/components/forms/AuthenticationForm.tsx:131 #~ msgid "Log in" @@ -451,13 +474,13 @@ msgstr "Redefinir palavra-passe" #: src/pages/Auth/Reset.tsx:31 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" -msgstr "E-mail" +msgstr "Email" #: src/components/forms/AuthenticationForm.tsx:135 #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:107 msgid "We will send you a link to login - if you are registered" -msgstr "Enviaremos um link para fazer o login - se você está registrado" +msgstr "Enviaremos um link para fazer o acesso - se você estiver registrado" #: src/components/forms/AuthenticationForm.tsx:136 #~ msgid "I will use username and password" @@ -465,23 +488,23 @@ msgstr "Enviaremos um link para fazer o login - se você está registrado" #: src/components/forms/AuthenticationForm.tsx:151 msgid "Send me an email" -msgstr "Envie-me uma mensagem de correio electrónico" +msgstr "Me envie um e-mail" #: src/components/forms/AuthenticationForm.tsx:153 msgid "Use username and password" -msgstr "Nome de usuário e senha" +msgstr "Usar nome de usuário e senha" #: src/components/forms/AuthenticationForm.tsx:162 msgid "Log In" -msgstr "Iniciar Sessão" +msgstr "Entrar" #: src/components/forms/AuthenticationForm.tsx:164 msgid "Send Email" -msgstr "Enviar e-mail" +msgstr "Enviar E-mail" #: src/components/forms/AuthenticationForm.tsx:193 msgid "Registration successful" -msgstr "Registo efectuado com sucesso" +msgstr "Cadastrado com sucesso" #: src/components/forms/AuthenticationForm.tsx:194 msgid "Please confirm your email address to complete the registration" @@ -501,12 +524,12 @@ msgstr "Repetir senha" #: src/components/forms/AuthenticationForm.tsx:247 msgid "Repeat password" -msgstr "Repetir senha" +msgstr "Repita a senha" #: src/components/forms/AuthenticationForm.tsx:259 #: src/components/forms/AuthenticationForm.tsx:304 msgid "Register" -msgstr "Registar" +msgstr "Registrar" #: src/components/forms/AuthenticationForm.tsx:265 msgid "Or use SSO" @@ -514,11 +537,11 @@ msgstr "Ou use SSO" #: src/components/forms/AuthenticationForm.tsx:296 msgid "Don't have an account?" -msgstr "Não possui conta?\n" +msgstr "Não possui uma conta?" #: src/components/forms/AuthenticationForm.tsx:315 msgid "Go back to login" -msgstr "Voltar para o Login" +msgstr "Voltar ao login" #: src/components/forms/HostOptionsForm.tsx:36 #: src/components/forms/HostOptionsForm.tsx:67 @@ -545,14 +568,13 @@ msgstr "Nome" #: src/components/forms/HostOptionsForm.tsx:75 msgid "No one here..." -msgstr "Não há ninguém aqui..." +msgstr "Ninguém aqui..." #: src/components/forms/HostOptionsForm.tsx:86 msgid "Add Host" -msgstr "Adicionar Servidor" +msgstr "Adicionar Host" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "Salvar" @@ -562,7 +584,7 @@ msgstr "Selecionar instância de destino" #: src/components/forms/InstanceOptions.tsx:71 msgid "Edit possible host options" -msgstr "Editar opções de host possíveis" +msgstr "Editar possíveis opções de servidor" #: src/components/forms/InstanceOptions.tsx:98 msgid "Version: {0}" @@ -578,7 +600,7 @@ msgstr "Nome: {0}" #: src/components/forms/InstanceOptions.tsx:104 msgid "State: <0>worker ({0}), <1>plugins{1}" -msgstr "Estado: <0>funcionário ({0}), <1>plugins{1}" +msgstr "Estado: <0>funcionário ({0}), <1>extensões{1}" #: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 @@ -591,7 +613,7 @@ msgstr "Buscar" #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" -msgstr "A carregar" +msgstr "Carregando" #: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" @@ -599,11 +621,11 @@ msgstr "Nenhum resultado encontrado" #: src/components/forms/fields/TableField.tsx:50 msgid "modelRenderer entry required for tables" -msgstr "" +msgstr "entrada modelRenderer necessária para tabelas" #: src/components/forms/fields/TableField.tsx:74 msgid "No entries available" -msgstr "Nenhuma entrada disponível" +msgstr "Não há itens disponíveis" #: src/components/images/DetailsImage.tsx:252 #~ msgid "Select image" @@ -629,7 +651,7 @@ msgstr "Ver código de barras" #: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" -msgstr "Atribuir Código de Barras" +msgstr "Vincular Código de Barras" #: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" @@ -638,7 +660,7 @@ msgstr "Vincular código de barras personalizado" #: src/components/items/ActionDropdown.tsx:170 #: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" -msgstr "Desatribuir Código de Barras" +msgstr "Desvincular Código de Barras" #: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" @@ -651,7 +673,7 @@ msgstr "Editar" #: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" -msgstr "Apagar Item" +msgstr "Apagar item" #: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 @@ -664,7 +686,7 @@ msgstr "Duplicar item" #: src/components/items/DocTooltip.tsx:92 msgid "Read More" -msgstr "Mais informações" +msgstr "Leia Mais" #: src/components/items/ErrorItem.tsx:5 #: src/tables/InvenTreeTable.tsx:443 @@ -673,11 +695,11 @@ msgstr "Erro desconhecido" #: src/components/items/ErrorItem.tsx:10 msgid "An error occurred:" -msgstr "Ocorreu um erro:" +msgstr "Um erro ocorreu:" #: src/components/items/GettingStartedCarousel.tsx:27 msgid "Read more" -msgstr "Saber mais" +msgstr "Ler mais" #: src/components/items/InfoItem.tsx:27 msgid "None" @@ -685,16 +707,16 @@ msgstr "Nenhum" #: src/components/items/InvenTreeLogo.tsx:23 msgid "InvenTree Logo" -msgstr "Logotipo do InvenTree" +msgstr "Logotipo InvenTree" #: src/components/items/OnlyStaff.tsx:9 #: src/components/modals/AboutInvenTreeModal.tsx:44 msgid "This information is only available for staff users" -msgstr "Esta informação está disponível apenas para utilizadores da equipa" +msgstr "Esta informação só está disponível para usuários da equipe" #: src/components/items/Placeholder.tsx:14 msgid "This feature/button/site is a placeholder for a feature that is not implemented, only partial or intended for testing." -msgstr "Esta funcionalidade/botão/site é um espaço reservado para um recurso que ainda não está total ou parcialmente implementado, ou destinado a testes." +msgstr "Este recurso/botão/site é um supositório para um recurso que não está implementado, somente parcial ou destinado a testes." #: src/components/items/Placeholder.tsx:17 msgid "PLH" @@ -706,11 +728,11 @@ msgstr "Este painel é um espaço reservado." #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" -msgstr "Informação da versão" +msgstr "Informações da Versão" #: src/components/modals/AboutInvenTreeModal.tsx:103 msgid "Your InvenTree version status is" -msgstr "A versão do seu InvenTree é" +msgstr "Sua versão do InvenTree é" #: src/components/modals/AboutInvenTreeModal.tsx:107 msgid "Development Version" @@ -738,7 +760,7 @@ msgstr "Data do Commit" #: src/components/modals/AboutInvenTreeModal.tsx:141 msgid "Commit Branch" -msgstr "Commit Branch" +msgstr "Ramo do Commit" #: src/components/modals/AboutInvenTreeModal.tsx:146 #: src/components/modals/ServerInfoModal.tsx:133 @@ -755,7 +777,7 @@ msgstr "Versão do Django" #: src/components/modals/AboutInvenTreeModal.tsx:162 msgid "Links" -msgstr "Ligações" +msgstr "Links" #: src/components/modals/AboutInvenTreeModal.tsx:168 msgid "InvenTree Documentation" @@ -763,7 +785,7 @@ msgstr "Documentação do InvenTree" #: src/components/modals/AboutInvenTreeModal.tsx:169 msgid "View Code on GitHub" -msgstr "Ver código no GitHub" +msgstr "Veja o código no GitHub" #: src/components/modals/AboutInvenTreeModal.tsx:170 msgid "Credits" @@ -771,15 +793,15 @@ msgstr "Créditos" #: src/components/modals/AboutInvenTreeModal.tsx:171 msgid "Mobile App" -msgstr "Aplicação móvel" +msgstr "Aplicativo para celular" #: src/components/modals/AboutInvenTreeModal.tsx:172 msgid "Submit Bug Report" -msgstr "Submeter Relatório de Erro" +msgstr "Enviar Relatório de Erro" #: src/components/modals/AboutInvenTreeModal.tsx:183 msgid "Copy version information" -msgstr "Copiar informação da versão" +msgstr "Copiar informações da versão" #: src/components/modals/AboutInvenTreeModal.tsx:192 #: src/components/modals/ServerInfoModal.tsx:147 @@ -800,7 +822,7 @@ msgstr "Carregando informações da licença" #: src/components/modals/LicenseModal.tsx:77 msgid "Failed to fetch license information" -msgstr "Falha ao buscar informações da licença" +msgstr "Falha ao obter informações da licença" #: src/components/modals/LicenseModal.tsx:85 msgid "{key} Packages" @@ -813,12 +835,12 @@ msgstr "Resposta desconhecida" #: src/components/modals/QrCodeModal.tsx:102 #: src/pages/Index/Scan.tsx:636 msgid "Error while getting camera" -msgstr "Erro ao carregar a câmera" +msgstr "Erro ao obter a câmera" #: src/components/modals/QrCodeModal.tsx:125 #: src/pages/Index/Scan.tsx:659 msgid "Error while scanning" -msgstr "Erro ao digitalizar" +msgstr "Erro ao escanear" #: src/components/modals/QrCodeModal.tsx:139 #: src/pages/Index/Scan.tsx:673 @@ -829,35 +851,35 @@ msgstr "Erro ao parar" #: src/defaults/menuItems.tsx:21 #: src/pages/Index/Scan.tsx:746 msgid "Scanning" -msgstr "Digitalizar" +msgstr "Escaneando" #: src/components/modals/QrCodeModal.tsx:154 #: src/pages/Index/Scan.tsx:746 msgid "Not scanning" -msgstr "Não digitalizar" +msgstr "Não está escaneando" #: src/components/modals/QrCodeModal.tsx:159 #: src/pages/Index/Scan.tsx:752 msgid "Select Camera" -msgstr "Selecionar câmara" +msgstr "Selecionar Camera" #: src/components/modals/QrCodeModal.tsx:169 #: src/pages/Index/Scan.tsx:737 msgid "Start scanning" -msgstr "Iniciar a digitalização" +msgstr "Começar a escanear" #: src/components/modals/QrCodeModal.tsx:176 #: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" -msgstr "Parar a digitalização" +msgstr "Parar escaneamento" #: src/components/modals/QrCodeModal.tsx:181 msgid "No scans yet!" -msgstr "Ainda não há digitalizações!" +msgstr "Ainda não há escaneamentos!" #: src/components/modals/QrCodeModal.tsx:201 msgid "Close modal" -msgstr "Fechar diálogo" +msgstr "Fechar o modal" #: src/components/modals/ServerInfoModal.tsx:26 #: src/pages/Index/Settings/SystemSettings.tsx:35 @@ -866,11 +888,11 @@ msgstr "Servidor" #: src/components/modals/ServerInfoModal.tsx:32 msgid "Instance Name" -msgstr "Nome da instância" +msgstr "Nome da Instância" #: src/components/modals/ServerInfoModal.tsx:38 msgid "Database" -msgstr "Base de dados" +msgstr "Banco de Dados" #: src/components/modals/ServerInfoModal.tsx:38 #~ msgid "Bebug Mode" @@ -882,7 +904,7 @@ msgstr "Modo de depuração" #: src/components/modals/ServerInfoModal.tsx:50 msgid "Server is running in debug mode" -msgstr "O servidor está em execução no modo de depuração" +msgstr "Servidor está em execução em modo de depuração" #: src/components/modals/ServerInfoModal.tsx:57 msgid "Docker Mode" @@ -890,23 +912,23 @@ msgstr "Modo Docker" #: src/components/modals/ServerInfoModal.tsx:60 msgid "Server is deployed using docker" -msgstr "Servidor implementado usando o Docker" +msgstr "O servidor está implantado usando o docker" #: src/components/modals/ServerInfoModal.tsx:66 msgid "Plugin Support" -msgstr "Suporte a Extensões" +msgstr "Suporte a Plugins" #: src/components/modals/ServerInfoModal.tsx:71 msgid "Plugin support enabled" -msgstr "Suporte a extensões habilitado" +msgstr "Suporte a plugin habilitado" #: src/components/modals/ServerInfoModal.tsx:73 msgid "Plugin support disabled" -msgstr "Suporte de extensão desativado" +msgstr "Suporte a plugin desabilitado" #: src/components/modals/ServerInfoModal.tsx:80 msgid "Server status" -msgstr "Estado do Servidor" +msgstr "Estado do servidor" #: src/components/modals/ServerInfoModal.tsx:86 msgid "Healthy" @@ -918,11 +940,11 @@ msgstr "Problemas detectados" #: src/components/modals/ServerInfoModal.tsx:97 msgid "Background Worker" -msgstr "Trabalhador em segundo plano" +msgstr "Trabalhador em Segundo Plano" #: src/components/modals/ServerInfoModal.tsx:101 msgid "Background worker not running" -msgstr "Trabalhador de fundo não está em execução" +msgstr "Trabalhador em segundo plano não está funcionando" #: src/components/modals/ServerInfoModal.tsx:109 msgid "Email Settings" @@ -930,7 +952,7 @@ msgstr "Configurações de Email" #: src/components/modals/ServerInfoModal.tsx:113 msgid "Email settings not configured" -msgstr "Configurações de e-mail não configuradas" +msgstr "Email não configurado" #: src/components/modals/ServerInfoModal.tsx:121 #: src/tables/plugin/PluginListTable.tsx:144 @@ -940,12 +962,12 @@ msgstr "Versão" #: src/components/modals/ServerInfoModal.tsx:127 msgid "Server Version" -msgstr "Versão do Servidor" +msgstr "Versão do servidor" #: src/components/nav/Layout.tsx:70 #: src/tables/part/PartThumbTable.tsx:194 msgid "Search..." -msgstr "Pesquisa..." +msgstr "Buscar..." #: src/components/nav/Layout.tsx:73 msgid "Nothing found..." @@ -964,13 +986,13 @@ msgstr "Configurações" #: src/components/nav/MainMenu.tsx:49 #: src/defaults/menuItems.tsx:15 msgid "Account settings" -msgstr "Configurações da conta" +msgstr "Configurações de conta" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" -msgstr "Definições de Sistema" +msgstr "Configurações do Sistema" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 @@ -988,16 +1010,16 @@ msgstr "Centro de Administração" #: src/components/nav/MainMenu.tsx:77 msgid "Logout" -msgstr "Encerrar sessão" +msgstr "Sair" #: src/components/nav/NavHoverMenu.tsx:65 #: src/defaults/actions.tsx:58 msgid "Open Navigation" -msgstr "Abrir a navegação" +msgstr "Abrir Navegação" #: src/components/nav/NavHoverMenu.tsx:84 msgid "View all" -msgstr "Ver tudo" +msgstr "Visualizar Tudo" #: src/components/nav/NavHoverMenu.tsx:100 #: src/components/nav/NavHoverMenu.tsx:110 @@ -1041,7 +1063,7 @@ msgstr "Notificações" #: src/components/nav/NotificationDrawer.tsx:95 msgid "You have no unread notifications." -msgstr "Não tem novas notificações" +msgstr "Você não tem notificações não lidas." #: src/components/nav/NotificationDrawer.tsx:111 #: src/components/nav/NotificationDrawer.tsx:117 @@ -1052,7 +1074,7 @@ msgstr "Notificação" #: src/components/nav/NotificationDrawer.tsx:140 #: src/pages/Notifications.tsx:73 msgid "Mark as read" -msgstr "Marcar como lida" +msgstr "Marcar como lido" #: src/components/nav/SearchDrawer.tsx:77 msgid "results" @@ -1060,11 +1082,11 @@ msgstr "resultados" #: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" -msgstr "Introduzir texto de pesquisa" +msgstr "Digite o texto de pesquisa" #: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" -msgstr "Opções de Pesquisa" +msgstr "Opções de pesquisa" #: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" @@ -1072,15 +1094,15 @@ msgstr "Busca por Regex" #: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" -msgstr "Pesquisar palavras inteiras" +msgstr "Pesquisa de palavras inteira" #: src/components/nav/SearchDrawer.tsx:416 msgid "An error occurred during search query" -msgstr "Ocorreu um erro durante a busca" +msgstr "Ocorreu um erro durante a pesquisa" #: src/components/nav/SearchDrawer.tsx:427 msgid "No results" -msgstr "Sem resultados" +msgstr "Nenhum resultado" #: src/components/nav/SearchDrawer.tsx:430 msgid "No results available for search query" @@ -1110,7 +1132,7 @@ msgstr "Peça" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1120,19 +1142,19 @@ msgstr "Peças" #: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" -msgstr "Modelo de Parâmetro da Peça" +msgstr "Modelo de Parâmetro de Peça" #: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" -msgstr "Modelos de Parâmetro da Peça" +msgstr "Modelos de Parâmetro de Peça" #: src/components/render/ModelType.tsx:38 msgid "Part Test Template" -msgstr "Modelos de Teste da Peça" +msgstr "Modelo de Teste de Peça" #: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" -msgstr "Modelos de Teste da Peça" +msgstr "Teste de Modelos de Peças" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 @@ -1144,7 +1166,7 @@ msgstr "Fornecedor da Peça" #: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" -msgstr "Peças de fornecedor" +msgstr "Peças do Fornecedor" #: src/components/render/ModelType.tsx:54 #: src/pages/company/ManufacturerPartDetail.tsx:125 @@ -1153,26 +1175,26 @@ msgstr "Fabricante da peça" #: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" -msgstr "Peças do fabricante" +msgstr "Peças do Fabricante" #: src/components/render/ModelType.tsx:63 #: src/pages/part/CategoryDetail.tsx:291 msgid "Part Category" -msgstr "Categoria da peça" +msgstr "Categoria da Peça" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 msgid "Part Categories" -msgstr "Categorias da Peça" +msgstr "Categorias de Peça" #: src/components/render/ModelType.tsx:72 #: src/pages/stock/StockDetail.tsx:560 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" -msgstr "Item de Estoque" +msgstr "Item de estoque" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:199 @@ -1184,57 +1206,57 @@ msgstr "Itens de Estoque" #: src/components/render/ModelType.tsx:81 msgid "Stock Location" -msgstr "Localização de Stock" +msgstr "Localização do estoque" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 #: src/pages/stock/StockDetail.tsx:552 msgid "Stock Locations" -msgstr "Localizações de Stock" +msgstr "Locais de estoque" #: src/components/render/ModelType.tsx:90 msgid "Stock Location Type" -msgstr "Tipo de Local de Estoque" +msgstr "Tipo de Localização de Estoque" #: src/components/render/ModelType.tsx:91 msgid "Stock Location Types" -msgstr "" +msgstr "Tipos de Localização de Estoque" #: src/components/render/ModelType.tsx:95 msgid "Stock History" -msgstr "" +msgstr "Histórico de estoque" #: src/components/render/ModelType.tsx:96 msgid "Stock Histories" -msgstr "" +msgstr "Históricos de estoque" #: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" -msgstr "" +msgstr "Produzir" #: src/components/render/ModelType.tsx:101 msgid "Builds" -msgstr "" +msgstr "Compilações" #: src/components/render/ModelType.tsx:109 msgid "Build Line" -msgstr "" +msgstr "Linha de Produção" #: src/components/render/ModelType.tsx:110 msgid "Build Lines" -msgstr "" +msgstr "Linhas de Produção" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" -msgstr "" +msgstr "Empresa" #: src/components/render/ModelType.tsx:118 msgid "Companies" -msgstr "" +msgstr "Empresas" #: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 @@ -1243,36 +1265,36 @@ msgstr "" #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:61 msgid "Project Code" -msgstr "" +msgstr "Código do Projeto" #: src/components/render/ModelType.tsx:127 #: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" -msgstr "" +msgstr "Códigos de Projeto" #: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" -msgstr "" +msgstr "Pedido de Compra" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" -msgstr "" +msgstr "Pedidos de compra" #: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" -msgstr "" +msgstr "Linha do Pedido de Compra" #: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" -msgstr "" +msgstr "Linhas do Pedido de Compra" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 @@ -1280,125 +1302,125 @@ msgstr "" #: src/pages/stock/StockDetail.tsx:210 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" -msgstr "" +msgstr "Pedido de Venda" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" -msgstr "" +msgstr "Pedidos de vendas" #: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" -msgstr "" +msgstr "Envio do Pedido Venda" #: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" -msgstr "" +msgstr "Envios do Pedido Venda" #: src/components/render/ModelType.tsx:163 #: src/pages/sales/ReturnOrderDetail.tsx:325 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" -msgstr "" +msgstr "Pedido de Devolução" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" -msgstr "" +msgstr "Pedidos de Devolução" #: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" -msgstr "" +msgstr "Endereço" #: src/components/render/ModelType.tsx:173 #: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" -msgstr "" +msgstr "Endereços" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 #: src/pages/sales/ReturnOrderDetail.tsx:159 #: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" -msgstr "" +msgstr "Contato" #: src/components/render/ModelType.tsx:180 #: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" -msgstr "" +msgstr "Contatos" #: src/components/render/ModelType.tsx:186 msgid "Owner" -msgstr "" +msgstr "Proprietário" #: src/components/render/ModelType.tsx:187 msgid "Owners" -msgstr "" +msgstr "Proprietários" #: src/components/render/ModelType.tsx:193 #: src/tables/stock/StockItemTestResultTable.tsx:192 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" -msgstr "" +msgstr "Usuário" #: src/components/render/ModelType.tsx:194 #: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" -msgstr "" +msgstr "Usuários" #: src/components/render/ModelType.tsx:200 msgid "Label Template" -msgstr "" +msgstr "Modelo de Etiqueta" #: src/components/render/ModelType.tsx:201 #: src/pages/Index/Settings/AdminCenter/Index.tsx:135 msgid "Label Templates" -msgstr "" +msgstr "Modelos de Etiqueta" #: src/components/render/ModelType.tsx:207 msgid "Report Template" -msgstr "" +msgstr "Modelo de Relatório" #: src/components/render/ModelType.tsx:208 #: src/pages/Index/Settings/AdminCenter/Index.tsx:141 msgid "Report Templates" -msgstr "" +msgstr "Modelos de Relatório" #: src/components/render/ModelType.tsx:214 msgid "Plugin Configuration" -msgstr "" +msgstr "Configuração de Plugin" #: src/components/render/ModelType.tsx:215 msgid "Plugin Configurations" -msgstr "" +msgstr "Configurações de Plugins" #: src/components/render/Order.tsx:104 msgid "Shipment" -msgstr "" +msgstr "Remessa" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" -msgstr "" +msgstr "Estoque" #: src/components/render/Stock.tsx:52 #: src/pages/stock/StockDetail.tsx:145 #: src/pages/stock/StockDetail.tsx:517 msgid "Serial Number" -msgstr "" +msgstr "Número de Série" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 @@ -1411,7 +1433,7 @@ msgstr "" #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 #: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" -msgstr "" +msgstr "Quantidade" #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 @@ -1420,24 +1442,24 @@ msgstr "" #: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" -msgstr "" +msgstr "Editar configurações" #: src/components/settings/SettingList.tsx:78 #: src/components/settings/SettingList.tsx:108 msgid "Setting {0} updated successfully" -msgstr "" +msgstr "Configuração {0} atualizada com sucesso" #: src/components/settings/SettingList.tsx:107 msgid "Setting updated" -msgstr "" +msgstr "Configurações atualizadas" #: src/components/settings/SettingList.tsx:117 msgid "Error editing setting" -msgstr "" +msgstr "Erro ao editar configuração" #: src/components/settings/SettingList.tsx:158 msgid "No settings specified" -msgstr "" +msgstr "Nenhuma configuração especificada" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1816,45 +1838,41 @@ msgstr "" #: src/components/widgets/DisplayWidget.tsx:11 #: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" -msgstr "" +msgstr "Configurações de tela" #: src/components/widgets/DisplayWidget.tsx:15 #: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" -msgstr "" +msgstr "Modo de cores" #: src/components/widgets/DisplayWidget.tsx:21 #: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" -msgstr "" +msgstr "Idioma" #: src/components/widgets/FeedbackWidget.tsx:19 msgid "Something is new: Platform UI" -msgstr "" +msgstr "Algo novo: Interface da Plataforma" #: src/components/widgets/FeedbackWidget.tsx:21 msgid "We are building a new UI with a modern stack. What you currently see is not fixed and will be redesigned but demonstrates the UI/UX possibilities we will have going forward." -msgstr "" +msgstr "Estamos construindo uma nova interface moderna de usuário. O que você vê no momento não foi corrigido e será redesenhado, mas demonstra as possibilidades de UI/UX que teremos adiante." #: src/components/widgets/FeedbackWidget.tsx:32 msgid "Provide Feedback" -msgstr "Fornecer comentários" +msgstr "Forneça Avaliação" #: src/components/widgets/GetStartedWidget.tsx:11 msgid "Getting started" -msgstr "Introdução" +msgstr "Iniciando" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "Falha ao carregar imagem" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "Notas guardadas" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "Falha ao guardar notas" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -1862,7 +1880,7 @@ msgstr "Disposição" #: src/components/widgets/WidgetLayout.tsx:172 msgid "Reset Layout" -msgstr "Redefinir disposição" +msgstr "Redefinir Disposição" #: src/components/widgets/WidgetLayout.tsx:185 msgid "Stop Edit" @@ -1870,15 +1888,15 @@ msgstr "Parar Edição" #: src/components/widgets/WidgetLayout.tsx:185 msgid "Edit Layout" -msgstr "Editar disposição" +msgstr "Editar Disposição" #: src/components/widgets/WidgetLayout.tsx:191 msgid "Appearance" -msgstr "Aspecto" +msgstr "Aparência" #: src/components/widgets/WidgetLayout.tsx:203 msgid "Show Boxes" -msgstr "Exibir Caixas" +msgstr "Mostrar Caixas" #: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" @@ -1886,7 +1904,7 @@ msgstr "Búlgaro" #: src/contexts/LanguageContext.tsx:21 msgid "Czech" -msgstr "Checo" +msgstr "Tcheco" #: src/contexts/LanguageContext.tsx:22 msgid "Danish" @@ -1962,11 +1980,11 @@ msgstr "Norueguês" #: src/contexts/LanguageContext.tsx:40 msgid "Polish" -msgstr "Polaco" +msgstr "Polonês" #: src/contexts/LanguageContext.tsx:41 msgid "Portuguese" -msgstr "Português (Portugal)" +msgstr "Português" #: src/contexts/LanguageContext.tsx:42 msgid "Portuguese (Brazilian)" @@ -2024,15 +2042,15 @@ msgstr "Início" #: src/pages/Index/Dashboard.tsx:19 #: src/pages/Index/Settings/UserSettings.tsx:41 msgid "Dashboard" -msgstr "Painel de controlo" +msgstr "Painel de Controle" #: src/defaults/actions.tsx:24 msgid "Go to the InvenTree dashboard" -msgstr "Ir para o painel do InvenTree" +msgstr "Ir para o Dashboard do InvenTree" #: src/defaults/actions.tsx:31 msgid "Visit the documentation to learn more about InvenTree" -msgstr "Visite a documentação para saber mais sobre o InvenTree" +msgstr "Visite a documentação para aprender mais sobre o InvenTree" #: src/defaults/actions.tsx:37 #: src/defaults/links.tsx:92 @@ -2047,95 +2065,95 @@ msgstr "Sobre a organização InvenTree" #: src/defaults/actions.tsx:44 msgid "Server Information" -msgstr "" +msgstr "Informações do Servidor" #: src/defaults/actions.tsx:45 #: src/defaults/links.tsx:117 msgid "About this Inventree instance" -msgstr "" +msgstr "Sobre esta instância do Inventree" #: src/defaults/actions.tsx:51 #: src/defaults/links.tsx:105 msgid "License Information" -msgstr "" +msgstr "Informações de Licença" #: src/defaults/actions.tsx:52 #: src/defaults/links.tsx:129 msgid "Licenses for dependencies of the service" -msgstr "" +msgstr "Licenças para dependências de serviços" #: src/defaults/actions.tsx:59 msgid "Open the main navigation menu" -msgstr "" +msgstr "Abrir o menu de navegação principal" #: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" -msgstr "" +msgstr "Peças inscritas" #: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" -msgstr "" +msgstr "Categorias Inscritas" #: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" -msgstr "" +msgstr "Peças mais recentes" #: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" -msgstr "" +msgstr "LDM Aguardando Validação" #: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" -msgstr "" +msgstr "Atualizados Recentemente" #: src/defaults/dashboardItems.tsx:50 #: src/tables/part/PartTable.tsx:216 msgid "Low Stock" -msgstr "" +msgstr "Estoque Baixo" #: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" -msgstr "" +msgstr "Estoque Esgotado" #: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" -msgstr "" +msgstr "Necessário para pedidos de produção" #: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" -msgstr "" +msgstr "Estoque Expirado" #: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" -msgstr "" +msgstr "Estoque Parado" #: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" -msgstr "" +msgstr "Pedido de Produção em Progresso" #: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" -msgstr "" +msgstr "Pedido de produção atrasado" #: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" -msgstr "" +msgstr "Pedidos de Compra Pendentes" #: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" -msgstr "" +msgstr "Pedido de Compra Vencido" #: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" -msgstr "" +msgstr "Pedidos de Venda Pendentes" #: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" -msgstr "" +msgstr "Pedidos de Venda Vencidos" #: src/defaults/dashboardItems.tsx:127 msgid "Current News" -msgstr "" +msgstr "Notícias Atuais" #: src/defaults/defaultHostList.tsx:8 #~ msgid "InvenTree Demo" @@ -2148,15 +2166,15 @@ msgstr "" #: src/defaults/links.tsx:11 #: src/pages/company/CompanyDetail.tsx:92 msgid "Website" -msgstr "" +msgstr "Página Web" #: src/defaults/links.tsx:16 msgid "GitHub" -msgstr "" +msgstr "GitHub" #: src/defaults/links.tsx:21 msgid "Demo" -msgstr "" +msgstr "Demonstração" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 @@ -2167,7 +2185,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" -msgstr "" +msgstr "Comprando" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 @@ -2176,45 +2194,45 @@ msgstr "" #: src/pages/sales/SalesIndex.tsx:45 #: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" -msgstr "" +msgstr "Vendas" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 #: src/pages/Index/Playground.tsx:238 msgid "Playground" -msgstr "" +msgstr "Área de testes" #: src/defaults/links.tsx:49 msgid "Getting Started" -msgstr "" +msgstr "Primeiros passos" #: src/defaults/links.tsx:50 msgid "Getting started with InvenTree" -msgstr "" +msgstr "Primeiros passos com InvenTree" #: src/defaults/links.tsx:56 msgid "API" -msgstr "" +msgstr "API" #: src/defaults/links.tsx:57 msgid "InvenTree API documentation" -msgstr "" +msgstr "Documentação de API do InvenTree" #: src/defaults/links.tsx:62 msgid "Developer Manual" -msgstr "" +msgstr "Manual do Desenvolvedor" #: src/defaults/links.tsx:63 msgid "InvenTree developer manual" -msgstr "" +msgstr "Manual do desenvolvedor InvenTree" #: src/defaults/links.tsx:68 msgid "FAQ" -msgstr "" +msgstr "FAQ" #: src/defaults/links.tsx:69 msgid "Frequently asked questions" -msgstr "" +msgstr "Perguntas Frequentes" #: src/defaults/links.tsx:76 #~ msgid "Instance" @@ -2223,7 +2241,7 @@ msgstr "" #: src/defaults/links.tsx:79 #: src/defaults/links.tsx:116 msgid "System Information" -msgstr "" +msgstr "Informação do Sistema" #: src/defaults/links.tsx:83 #~ msgid "InvenTree" @@ -2235,7 +2253,7 @@ msgstr "" #: src/defaults/links.tsx:128 msgid "Licenses" -msgstr "" +msgstr "Licenças" #: src/defaults/menuItems.tsx:7 #~ msgid "Open sourcea" @@ -2263,7 +2281,7 @@ msgstr "" #: src/defaults/menuItems.tsx:17 msgid "User attributes and design settings." -msgstr "" +msgstr "Atributos de usuário e configurações de design." #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" @@ -2275,7 +2293,7 @@ msgstr "" #: src/defaults/menuItems.tsx:23 msgid "View for interactive scanning and multiple actions." -msgstr "" +msgstr "Visualização para varredura interativa e várias ações." #: src/defaults/menuItems.tsx:24 #~ msgid "The fluid of Smeargle’s tail secretions changes in the intensity" @@ -2355,44 +2373,44 @@ msgstr "" #: src/forms/BuildForms.tsx:146 msgid "Next serial number" -msgstr "" +msgstr "Próximo número de série" #: src/forms/BuildForms.tsx:150 msgid "Latest serial number" -msgstr "" +msgstr "Último número de série" #: src/forms/BuildForms.tsx:222 msgid "Remove output" -msgstr "" +msgstr "Remover a saída" #: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" -msgstr "" +msgstr "Concluir Saídas de Produção" #: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" -msgstr "" +msgstr "Saídas de produção foram completadas" #: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" -msgstr "" +msgstr "Sucatear Saídas de Produção" #: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" -msgstr "" +msgstr "Saídas de produção foram sucateadas" #: src/forms/BuildForms.tsx:413 #: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" -msgstr "" +msgstr "Cancelar Saídas de Produção" #: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" -msgstr "" +msgstr "Saídas de produção selecionadas serão apagadas" #: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" -msgstr "" +msgstr "Saídas de produção foram canceladas" #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" @@ -2400,7 +2418,7 @@ msgstr "" #: src/forms/PartForms.tsx:100 msgid "Parent part category" -msgstr "" +msgstr "Categoria de peça parental" #: src/forms/PartForms.tsx:106 #~ msgid "Create Part" @@ -2416,45 +2434,45 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" -msgstr "" +msgstr "Escolher local" #: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" -msgstr "" +msgstr "Destino do item selecionado" #: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" -msgstr "" +msgstr "Localização padrão da categoria de peça selecionada" #: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" -msgstr "" +msgstr "Localização do estoque recebida selecionada" #: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" -msgstr "" +msgstr "Localização padrão selecionada" #: src/forms/PurchaseOrderForms.tsx:322 #: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" -msgstr "" +msgstr "Ler Código de Barras" #: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" -msgstr "" +msgstr "Definir Localização" #: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" -msgstr "" +msgstr "Atribuir Código em Lote{0}" #: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" -msgstr "" +msgstr "Alterar Status" #: src/forms/PurchaseOrderForms.tsx:407 #: src/forms/StockForms.tsx:392 msgid "Remove item from list" -msgstr "" +msgstr "Remover item da lista" #: src/forms/PurchaseOrderForms.tsx:432 #: src/forms/StockForms.tsx:449 @@ -2469,23 +2487,23 @@ msgstr "" #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" -msgstr "" +msgstr "Localização" #: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" -msgstr "" +msgstr "Armazenar no local padrão" #: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" -msgstr "" +msgstr "Armazenar no destino do item de linha" #: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" -msgstr "" +msgstr "Armazenar com estoque já recebido" #: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" -msgstr "" +msgstr "Excluir Itens de Linha" #: src/forms/PurchaseOrderForms.tsx:658 #~ msgid "Receive line items" @@ -2493,7 +2511,7 @@ msgstr "" #: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" -msgstr "" +msgstr "Adicionar quantidade dada como pacotes e não itens individuais" #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" @@ -2501,15 +2519,15 @@ msgstr "" #: src/forms/StockForms.tsx:114 msgid "Enter initial quantity for this stock item" -msgstr "" +msgstr "Inserir quantidade inicial deste item de estoque" #: src/forms/StockForms.tsx:121 msgid "Serial Numbers" -msgstr "" +msgstr "Números de Série" #: src/forms/StockForms.tsx:122 msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" +msgstr "Insira o número de série para novo estoque (ou deixe em branco)" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" @@ -2520,15 +2538,15 @@ msgstr "" #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" -msgstr "" +msgstr "Adicionar Item do Estoque" #: src/forms/StockForms.tsx:339 msgid "Loading..." -msgstr "" +msgstr "Carregando..." #: src/forms/StockForms.tsx:381 msgid "Move to default location" -msgstr "" +msgstr "Mover para o local padrão" #: src/forms/StockForms.tsx:449 #: src/forms/StockForms.tsx:483 @@ -2542,11 +2560,11 @@ msgstr "" #: src/pages/part/PartDetail.tsx:656 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" -msgstr "" +msgstr "Em Estoque" #: src/forms/StockForms.tsx:449 msgid "Move" -msgstr "" +msgstr "Mover" #: src/forms/StockForms.tsx:449 #: src/forms/StockForms.tsx:483 @@ -2558,53 +2576,53 @@ msgstr "" #: src/forms/StockForms.tsx:684 #: src/tables/RowActions.tsx:149 msgid "Actions" -msgstr "" +msgstr "Ações" #: src/forms/StockForms.tsx:512 #: src/pages/stock/StockDetail.tsx:454 #: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" -msgstr "" +msgstr "Adicionar" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 #: src/pages/stock/StockDetail.tsx:444 msgid "Count" -msgstr "" +msgstr "Contar" #: src/forms/StockForms.tsx:785 msgid "Add Stock" -msgstr "" +msgstr "Adicionar Estoque" #: src/forms/StockForms.tsx:794 msgid "Remove Stock" -msgstr "" +msgstr "Remover Estoque" #: src/forms/StockForms.tsx:803 #: src/pages/part/PartDetail.tsx:783 msgid "Transfer Stock" -msgstr "" +msgstr "Transferir Estoque" #: src/forms/StockForms.tsx:812 #: src/pages/part/PartDetail.tsx:772 msgid "Count Stock" -msgstr "" +msgstr "Contar Estoque" #: src/forms/StockForms.tsx:821 msgid "Change Stock Status" -msgstr "" +msgstr "Mudar estado do estoque" #: src/forms/StockForms.tsx:830 msgid "Merge Stock" -msgstr "" +msgstr "Mesclar estoque" #: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" -msgstr "" +msgstr "Excluir Item de Estoque" #: src/forms/StockForms.tsx:856 msgid "Parent stock location" -msgstr "" +msgstr "Local de estoque pai" #: src/functions/auth.tsx:34 #~ msgid "Error fetching token from server." @@ -2628,20 +2646,20 @@ msgstr "" #: src/functions/auth.tsx:76 msgid "Logged Out" -msgstr "" +msgstr "Desconectado" #: src/functions/auth.tsx:77 msgid "Successfully logged out" -msgstr "" +msgstr "Deslogado com sucesso" #: src/functions/auth.tsx:115 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." -msgstr "" +msgstr "Verifique sua caixa de entrada para o link de redefinição. Isso só funciona se você tiver uma conta. Cheque no spam também." #: src/functions/auth.tsx:122 #: src/pages/Auth/Set-Password.tsx:39 msgid "Reset failed" -msgstr "" +msgstr "A redefinação falhou" #: src/functions/auth.tsx:141 #~ msgid "Already logged in" @@ -2657,11 +2675,11 @@ msgstr "" #: src/functions/auth.tsx:153 msgid "Logged In" -msgstr "" +msgstr "Logado" #: src/functions/auth.tsx:154 msgid "Successfully logged in" -msgstr "" +msgstr "Logado com sucesso" #: src/functions/forms.tsx:50 #~ msgid "Form method not provided" @@ -2673,68 +2691,68 @@ msgstr "" #: src/functions/forms.tsx:182 msgid "Invalid Form" -msgstr "" +msgstr "Formulário inválido" #: src/functions/forms.tsx:183 msgid "method parameter not supplied" -msgstr "" +msgstr "parâmetro do método não fornecido" #: src/functions/notifications.tsx:10 msgid "Not implemented" -msgstr "" +msgstr "Não implementado" #: src/functions/notifications.tsx:11 msgid "This feature is not yet implemented" -msgstr "" +msgstr "Esta função ainda não foi implementada" #: src/functions/notifications.tsx:21 msgid "Permission denied" -msgstr "" +msgstr "Permissão negada" #: src/functions/notifications.tsx:22 msgid "You do not have permission to perform this action" -msgstr "" +msgstr "Você não tem permissão para realizar esta ação" #: src/functions/notifications.tsx:33 msgid "Invalid Return Code" -msgstr "" +msgstr "Código de retorno inválido" #: src/functions/notifications.tsx:34 msgid "Server returned status {returnCode}" -msgstr "" +msgstr "O servidor retornou o estado {returnCode}" #: src/hooks/UseForm.tsx:88 msgid "Item Created" -msgstr "" +msgstr "Item Criado" #: src/hooks/UseForm.tsx:105 msgid "Item Updated" -msgstr "" +msgstr "Item Atualizado" #: src/hooks/UseForm.tsx:124 msgid "Item Deleted" -msgstr "" +msgstr "Item Excluído" #: src/hooks/UseForm.tsx:128 msgid "Are you sure you want to delete this item?" -msgstr "" +msgstr "Tem certeza que deseja remover este item?" #: src/pages/Auth/Logged-In.tsx:23 msgid "Checking if you are already logged in" -msgstr "" +msgstr "Checando se você já está conectado" #: src/pages/Auth/Login.tsx:31 #: src/pages/Index/Scan.tsx:329 msgid "No selection" -msgstr "" +msgstr "Nada selecionado" #: src/pages/Auth/Login.tsx:87 msgid "Welcome, log in below" -msgstr "" +msgstr "Bem-vindo(a), acesse abaixo" #: src/pages/Auth/Login.tsx:89 msgid "Register below" -msgstr "" +msgstr "Registre-se abaixo" #: src/pages/Auth/Login.tsx:121 #~ msgid "Edit host options" @@ -2742,64 +2760,64 @@ msgstr "" #: src/pages/Auth/Logout.tsx:23 msgid "Logging out" -msgstr "" +msgstr "Desconectando" #: src/pages/Auth/Reset.tsx:41 #: src/pages/Auth/Set-Password.tsx:112 msgid "Send mail" -msgstr "" +msgstr "Enviar e-mail" #: src/pages/Auth/Set-Password.tsx:30 msgid "Token invalid" -msgstr "" +msgstr "Token inválido" #: src/pages/Auth/Set-Password.tsx:31 msgid "You need to provide a valid token to set a new password. Check your inbox for a reset link." -msgstr "" +msgstr "Você precisa fornecer um token válido para definir uma nova senha. Verifique sua caixa de entrada para um link de redefinição." #: src/pages/Auth/Set-Password.tsx:49 msgid "No token provided" -msgstr "" +msgstr "Nenhum token fornecido" #: src/pages/Auth/Set-Password.tsx:50 msgid "You need to provide a token to set a new password. Check your inbox for a reset link." -msgstr "" +msgstr "Você precisa fornecer um token para definir uma nova senha. Verifique sua caixa de entrada para um link de redefinição." #: src/pages/Auth/Set-Password.tsx:73 msgid "Password set" -msgstr "" +msgstr "Senha definida" #: src/pages/Auth/Set-Password.tsx:74 msgid "The password was set successfully. You can now login with your new password" -msgstr "" +msgstr "Sua senha foi alterada com sucesso. Agora você pode acessar usando sua nova senha" #: src/pages/Auth/Set-Password.tsx:101 msgid "Set new password" -msgstr "" +msgstr "Defina uma nova senha" #: src/pages/ErrorPage.tsx:17 msgid "Error: {0}" -msgstr "" +msgstr "Erro: {0}" #: src/pages/ErrorPage.tsx:28 msgid "Sorry, an unexpected error has occurred." -msgstr "" +msgstr "Desculpe, ocorreu um erro inesperado." #: src/pages/Index/Dashboard.tsx:22 msgid "Autoupdate" -msgstr "" +msgstr "Atualizar automaticamente" #: src/pages/Index/Dashboard.tsx:26 msgid "This page is a replacement for the old start page with the same information. This page will be deprecated and replaced by the home page." -msgstr "" +msgstr "Esta página é uma substituição para a página inicial antiga com as mesmas informações. Esta página será descontinuada e substituída pela página inicial." #: src/pages/Index/Home.tsx:58 msgid "Welcome to your Dashboard{0}" -msgstr "" +msgstr "Bem-vindo ao seu painel{0}" #: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." -msgstr "" +msgstr "Esta página é uma demonstração para as possibilidades da interface de plataforma." #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -2939,132 +2957,132 @@ msgstr "" #: src/pages/Index/Scan.tsx:216 msgid "Manual input" -msgstr "" +msgstr "Entrada manual" #: src/pages/Index/Scan.tsx:217 msgid "Image Barcode" -msgstr "" +msgstr "Imagem do Código de Barras" #: src/pages/Index/Scan.tsx:247 msgid "Selected elements are not known" -msgstr "" +msgstr "Selecionar elementos não conhecidos" #: src/pages/Index/Scan.tsx:254 msgid "Multiple object types selected" -msgstr "" +msgstr "Múltiplos tipos de objetos selecionados" #: src/pages/Index/Scan.tsx:261 msgid "Actions for {0}" -msgstr "" +msgstr "Ações para {0}" #: src/pages/Index/Scan.tsx:282 msgid "Scan Page" -msgstr "" +msgstr "Escanear Página" #: src/pages/Index/Scan.tsx:285 msgid "This page can be used for continuously scanning items and taking actions on them." -msgstr "" +msgstr "Esta página pode ser usada para escanear itens continuamente e executar ações sobre eles." #: src/pages/Index/Scan.tsx:292 msgid "Toggle Fullscreen" -msgstr "" +msgstr "Alternar para tela cheia" #: src/pages/Index/Scan.tsx:305 msgid "Select the input method you want to use to scan items." -msgstr "" +msgstr "Selecione o método de entrada que você deseja usar para escanear os itens." #: src/pages/Index/Scan.tsx:307 msgid "Input" -msgstr "" +msgstr "Entrada" #: src/pages/Index/Scan.tsx:314 msgid "Select input method" -msgstr "" +msgstr "Selecionar método de entrada" #: src/pages/Index/Scan.tsx:315 msgid "Nothing found" -msgstr "" +msgstr "Nada encontrado" #: src/pages/Index/Scan.tsx:323 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." -msgstr "" +msgstr "Dependendo das peças selecionadas as ações serão exibidas aqui. Nem todos os códigos de barras são suportados atualmente." #: src/pages/Index/Scan.tsx:325 msgid "Action" -msgstr "" +msgstr "Ação" #: src/pages/Index/Scan.tsx:334 msgid "{0} items selected" -msgstr "" +msgstr "{0} itens selecionados" #: src/pages/Index/Scan.tsx:337 msgid "General Actions" -msgstr "" +msgstr "Ações Gerais" #: src/pages/Index/Scan.tsx:351 msgid "Lookup part" -msgstr "" +msgstr "Peça Pesquisada" #: src/pages/Index/Scan.tsx:359 msgid "Open Link" -msgstr "" +msgstr "Abrir Link" #: src/pages/Index/Scan.tsx:375 msgid "History is locally kept in this browser." -msgstr "" +msgstr "O histórico é guardado localmente neste navegador." #: src/pages/Index/Scan.tsx:376 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." -msgstr "" +msgstr "O histórico é mantido no armazenamento local deste navegador. Por isso, ele não será compartilhado com outros usuários ou dispositivos, mas será persistente através de recarregamentos. Você pode selecionar itens no histórico para executar ações neles. Para adicionar itens, digitalize-os na área de entrada." #: src/pages/Index/Scan.tsx:378 #: src/pages/Notifications.tsx:100 msgid "History" -msgstr "" +msgstr "Histórico" #: src/pages/Index/Scan.tsx:384 msgid "Delete History" -msgstr "" +msgstr "Excluir o histórico" #: src/pages/Index/Scan.tsx:449 msgid "No history" -msgstr "" +msgstr "Sem histórico" #: src/pages/Index/Scan.tsx:467 msgid "Item" -msgstr "" +msgstr "Item" #: src/pages/Index/Scan.tsx:470 msgid "Type" -msgstr "" +msgstr "Tipo" #: src/pages/Index/Scan.tsx:473 msgid "Source" -msgstr "" +msgstr "Fonte" #: src/pages/Index/Scan.tsx:476 msgid "Scanned at" -msgstr "" +msgstr "Escaneado em" #: src/pages/Index/Scan.tsx:528 msgid "Enter item serial or data" -msgstr "" +msgstr "Inserir número de série ou dados do item" #: src/pages/Index/Scan.tsx:540 msgid "Add dummy item" -msgstr "" +msgstr "Adicionar Item fictício" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:37 msgid "Account Details" -msgstr "" +msgstr "Detalhes da Conta" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:46 msgid "First name" -msgstr "" +msgstr "Primeiro nome" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Last name" -msgstr "" +msgstr "Sobrenome" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:58 #~ msgid "First name: {0}" @@ -3076,128 +3094,128 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:63 msgid "First name:" -msgstr "" +msgstr "Primeiro nome:" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:67 msgid "Last name:" -msgstr "" +msgstr "Sobrenome:" #: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" -msgstr "" +msgstr "Usar pseudo-idioma" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" -msgstr "" +msgstr "Contas de Login Único (SSO)" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" -msgstr "" +msgstr "Não habilitado" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" -msgstr "" +msgstr "Contas de Login Único (SSO) não estão habilitadas neste servidor" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" -msgstr "" +msgstr "Multifator" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" -msgstr "" +msgstr "A autenticação de múltiplos fatores não está configurada para sua conta" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132 msgid "The following email addresses are associated with your account:" -msgstr "" +msgstr "Os seguintes endereços de e-mail estão associados à sua conta:" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:144 msgid "Primary" -msgstr "" +msgstr "Principal" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 msgid "Verified" -msgstr "" +msgstr "Verificado" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:153 msgid "Unverified" -msgstr "" +msgstr "Não Verificado" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 msgid "Add Email Address" -msgstr "" +msgstr "Adicionar E-mail" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail" -msgstr "" +msgstr "E-mail" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:170 msgid "E-Mail address" -msgstr "" +msgstr "Endereço de e-mail" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Make Primary" -msgstr "" +msgstr "Tornar Principal" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:187 msgid "Re-send Verification" -msgstr "" +msgstr "Reenviar Verificação" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:198 msgid "Add Email" -msgstr "" +msgstr "Adicionar E-mail" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263 msgid "Provider has not been configured" -msgstr "" +msgstr "O provedor não foi configurado" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:273 msgid "Not configured" -msgstr "" +msgstr "Não configurado" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276 msgid "There are no social network accounts connected to this account." -msgstr "" +msgstr "Não há nenhuma rede social conectada a essa conta." #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:286 msgid "You can sign in to your account using any of the following third party accounts" -msgstr "" +msgstr "Você pode entrar na sua conta usando qualquer uma das seguintes contas de terceiros" #: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:65 msgid "bars" -msgstr "" +msgstr "barras" #: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:66 msgid "oval" -msgstr "" +msgstr "oval" #: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:67 msgid "dots" -msgstr "" +msgstr "pontos" #: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:81 msgid "Theme" -msgstr "" +msgstr "Tema" #: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:87 msgid "Primary color" -msgstr "" +msgstr "Cor primária" #: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:100 msgid "White color" -msgstr "" +msgstr "Cor branca" #: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:108 msgid "Black color" -msgstr "" +msgstr "Cor preta" #: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:116 msgid "Border Radius" -msgstr "" +msgstr "Raio da borda" #: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:132 msgid "Loader" -msgstr "" +msgstr "Carregador" #: src/pages/Index/Settings/AdminCenter.tsx:30 #~ msgid "User Management" @@ -3209,24 +3227,24 @@ msgstr "" #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" -msgstr "" +msgstr "Tarefas de segundo plano" #: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" -msgstr "" +msgstr "Relatórios de Erro" #: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" -msgstr "" +msgstr "Moedas" #: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" -msgstr "" +msgstr "Unidades personalizadas" #: src/pages/Index/Settings/AdminCenter/Index.tsx:123 #: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" -msgstr "" +msgstr "Parâmetros da Peça" #: src/pages/Index/Settings/AdminCenter/Index.tsx:127 #~ msgid "Templates" @@ -3234,49 +3252,49 @@ msgstr "" #: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" -msgstr "" +msgstr "Parâmetros de Categoria" #: src/pages/Index/Settings/AdminCenter/Index.tsx:147 msgid "Location types" -msgstr "" +msgstr "Tipos de localização" #: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" -msgstr "" +msgstr "Máquinas" #: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" -msgstr "" +msgstr "Ações Rápidas" #: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" -msgstr "" +msgstr "Adicionar novo usuário" #: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" -msgstr "" +msgstr "Opções Avançadas" #: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:43 msgid "Machine types" -msgstr "" +msgstr "Tipos de máquinas" #: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:53 msgid "Machine Error Stack" -msgstr "" +msgstr "Pilha de Erros da Máquina" #: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:62 msgid "There are no machine registry errors." -msgstr "" +msgstr "Não há registro de erros da máquina." #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:28 #: src/tables/settings/UserTable.tsx:116 msgid "Info" -msgstr "" +msgstr "Info" #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:32 msgid "External plugins are not enabled for this InvenTree installation." -msgstr "" +msgstr "Extensões externas não estão ativados para esta instalação do InvenTree." #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:33 #~ msgid "Plugin Error Stack" @@ -3292,34 +3310,34 @@ msgstr "" #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:50 msgid "Plugin Errors" -msgstr "" +msgstr "Erros de plugin" #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:59 msgid "Plugin Settings" -msgstr "" +msgstr "Configurações da Extensão" #: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 msgid "Background Worker Not Running" -msgstr "" +msgstr "Trabalhador de fundo não está em execução" #: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 msgid "The background task manager service is not running. Contact your system administrator." -msgstr "" +msgstr "O serviço de gerenciador de tarefas em segundo plano não está em execução. Entre em contato com o administrador do sistema." #: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 #: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" -msgstr "" +msgstr "Tarefas Pendentes" #: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 #: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" -msgstr "" +msgstr "Tarefas Agendadas" #: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 #: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" -msgstr "" +msgstr "Tarefas com Falhas" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 #~ msgid "Label" @@ -3365,27 +3383,27 @@ msgstr "" #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:18 #: src/tables/settings/UserTable.tsx:135 msgid "Groups" -msgstr "" +msgstr "Grupos" #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:30 msgid "Select settings relevant for user lifecycle. More available in" -msgstr "" +msgstr "Selecione as configurações relevantes para o ciclo de vida dos usuários. Mais informações disponíveis em" #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:35 msgid "System settings" -msgstr "" +msgstr "Configurações do sistema" #: src/pages/Index/Settings/SystemSettings.tsx:64 msgid "Login" -msgstr "" +msgstr "Entrar" #: src/pages/Index/Settings/SystemSettings.tsx:86 msgid "Barcodes" -msgstr "" +msgstr "Códigos de barras" #: src/pages/Index/Settings/SystemSettings.tsx:105 msgid "Pricing" -msgstr "" +msgstr "Preços" #: src/pages/Index/Settings/SystemSettings.tsx:118 #~ msgid "Physical Units" @@ -3395,52 +3413,52 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" -msgstr "" +msgstr "Etiquetas" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" -msgstr "" +msgstr "Relatórios" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" -msgstr "" +msgstr "Balanço" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 #: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" -msgstr "" +msgstr "Ordens de Produções" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" -msgstr "" +msgstr "Mudar para Configuração de Usuário" #: src/pages/Index/Settings/UserSettings.tsx:29 msgid "Account" -msgstr "" +msgstr "Conta" #: src/pages/Index/Settings/UserSettings.tsx:35 msgid "Security" -msgstr "" +msgstr "Segurança" #: src/pages/Index/Settings/UserSettings.tsx:46 msgid "Display Options" -msgstr "" +msgstr "Opções de exibição" #: src/pages/Index/Settings/UserSettings.tsx:115 msgid "Account Settings" -msgstr "" +msgstr "Configurações de Conta" #: src/pages/Index/Settings/UserSettings.tsx:119 msgid "Switch to System Setting" -msgstr "" +msgstr "Mudar para Configuração do Sistema" #: src/pages/Index/UserSettings.tsx:103 #~ msgid "User Settings" @@ -3452,23 +3470,23 @@ msgstr "" #: src/pages/NotFound.tsx:17 msgid "Not Found" -msgstr "" +msgstr "Não encontrado" #: src/pages/NotFound.tsx:20 msgid "Sorry, this page is not known or was moved." -msgstr "" +msgstr "Desculpe, esta página não é conhecida ou foi movida." #: src/pages/NotFound.tsx:27 msgid "Go to the start page" -msgstr "" +msgstr "Ir para a página inicial" #: src/pages/Notifications.tsx:43 msgid "Delete Notifications" -msgstr "" +msgstr "Apagar notificações" #: src/pages/Notifications.tsx:108 msgid "Mark as unread" -msgstr "" +msgstr "Marcar como não lido" #: src/pages/build/BuildDetail.tsx:80 #~ msgid "Build Status" @@ -3486,7 +3504,7 @@ msgstr "" #: src/tables/stock/StockItemTable.tsx:259 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" -msgstr "" +msgstr "Estado" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 @@ -3495,7 +3513,7 @@ msgstr "" #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" -msgstr "" +msgstr "Referência" #: src/pages/build/BuildDetail.tsx:100 #: src/pages/company/CompanyDetail.tsx:86 @@ -3517,25 +3535,25 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:276 #: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" -msgstr "" +msgstr "Descrição" #: src/pages/build/BuildDetail.tsx:107 msgid "Parent Build" -msgstr "" +msgstr "Produção Pai" #: src/pages/build/BuildDetail.tsx:118 msgid "Build Quantity" -msgstr "" +msgstr "Quantidade de Produção" #: src/pages/build/BuildDetail.tsx:126 #: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" -msgstr "" +msgstr "Saídas Completas" #: src/pages/build/BuildDetail.tsx:143 #: src/tables/build/BuildOrderTable.tsx:142 msgid "Issued By" -msgstr "" +msgstr "Emitido por" #: src/pages/build/BuildDetail.tsx:150 #: src/pages/part/PartDetail.tsx:322 @@ -3547,12 +3565,12 @@ msgstr "" #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:72 msgid "Responsible" -msgstr "" +msgstr "Responsável" #: src/pages/build/BuildDetail.tsx:157 #: src/tables/settings/PendingTasksTable.tsx:30 msgid "Created" -msgstr "" +msgstr "Criado" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 @@ -3560,19 +3578,19 @@ msgstr "" #: src/pages/sales/SalesOrderDetail.tsx:181 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" -msgstr "" +msgstr "Data Prevista" #: src/pages/build/BuildDetail.tsx:171 msgid "Completed" -msgstr "" +msgstr "Concluído" #: src/pages/build/BuildDetail.tsx:183 msgid "Source Location" -msgstr "" +msgstr "Local de Origem" #: src/pages/build/BuildDetail.tsx:184 msgid "Any location" -msgstr "" +msgstr "Qualquer local" #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 @@ -3587,7 +3605,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:191 msgid "Destination Location" -msgstr "" +msgstr "Local de Destino" #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 @@ -3597,7 +3615,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:197 #: src/pages/stock/StockDetail.tsx:535 msgid "Batch Code" -msgstr "" +msgstr "Código de Lote" #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" @@ -3613,7 +3631,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:229 msgid "Build Details" -msgstr "" +msgstr "Detalhes da Produção" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" @@ -3622,19 +3640,19 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:235 #: src/tables/build/BuildLineTable.tsx:225 msgid "Allocate Stock" -msgstr "" +msgstr "Alocar Estoque" #: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" -msgstr "" +msgstr "Saídas Incompletas" #: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" -msgstr "" +msgstr "Estoque Consumido" #: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" -msgstr "" +msgstr "Pedido de Produção Filhos" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 @@ -3645,7 +3663,7 @@ msgstr "" #: src/pages/sales/SalesOrderDetail.tsx:275 #: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" -msgstr "" +msgstr "Anexos" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 @@ -3656,21 +3674,21 @@ msgstr "" #: src/pages/stock/StockDetail.tsx:337 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" -msgstr "" +msgstr "Anotações" #: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" -msgstr "" +msgstr "Editar Pedido de Produção" #: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" -msgstr "" +msgstr "Cancelar Pedido de Produção" #: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" -msgstr "" +msgstr "Adicionar Pedido de Produção" #: src/pages/build/BuildDetail.tsx:368 #~ msgid "Reporting Actions" @@ -3682,14 +3700,14 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" -msgstr "" +msgstr "Ações do Pedido de Produção" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 #: src/pages/sales/ReturnOrderDetail.tsx:307 #: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" -msgstr "" +msgstr "Cancelar pedido" #: src/pages/build/BuildIndex.tsx:23 #~ msgid "Build order created" @@ -3701,15 +3719,15 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" -msgstr "" +msgstr "Número de telefone" #: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" -msgstr "" +msgstr "Endereço de e-mail" #: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" -msgstr "" +msgstr "Moeda Padrão" #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 @@ -3721,7 +3739,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" -msgstr "" +msgstr "Fornecedor" #: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 @@ -3730,7 +3748,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" -msgstr "" +msgstr "Fabricante" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 @@ -3743,16 +3761,16 @@ msgstr "" #: src/tables/sales/SalesOrderTable.tsx:107 #: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" -msgstr "" +msgstr "Cliente" #: src/pages/company/CompanyDetail.tsx:168 #: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" -msgstr "" +msgstr "Detalhes" #: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" -msgstr "" +msgstr "Peças Fabricadas" #: src/pages/company/CompanyDetail.tsx:175 #~ msgid "Edit company" @@ -3760,7 +3778,7 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" -msgstr "" +msgstr "Peças Fornecidas" #: src/pages/company/CompanyDetail.tsx:189 #~ msgid "Delete company" @@ -3768,173 +3786,173 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" -msgstr "" +msgstr "Estoque Atribuído" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" -msgstr "" +msgstr "Editar Empresa" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" -msgstr "" +msgstr "Ações da Empresa" #: src/pages/company/ManufacturerPartDetail.tsx:69 #: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" -msgstr "" +msgstr "Peça Interna" #: src/pages/company/ManufacturerPartDetail.tsx:84 #: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" -msgstr "" +msgstr "Link Externo" #: src/pages/company/ManufacturerPartDetail.tsx:102 #: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" -msgstr "" +msgstr "Número de Peça do Fabricante" #: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" -msgstr "" +msgstr "Detalhes do Fabricante" #: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" -msgstr "" +msgstr "Detalhes de peça do Fabricante" #: src/pages/company/ManufacturerPartDetail.tsx:146 #: src/pages/part/PartDetail.tsx:487 msgid "Parameters" -msgstr "" +msgstr "Parâmetros" #: src/pages/company/ManufacturerPartDetail.tsx:158 #: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" -msgstr "" +msgstr "Fornecedores" #: src/pages/company/ManufacturerPartDetail.tsx:190 #: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" -msgstr "" +msgstr "Editar Peça do Fabricante" #: src/pages/company/ManufacturerPartDetail.tsx:197 #: src/tables/purchasing/ManufacturerPartTable.tsx:72 #: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" -msgstr "" +msgstr "Adicionar Peça do Fabricante" #: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" -msgstr "" +msgstr "Ações de peça do Fabricante" #: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" -msgstr "" +msgstr "Peça do Fabricante" #: src/pages/company/SupplierPartDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:117 msgid "Note" -msgstr "" +msgstr "Anotação" #: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" -msgstr "" +msgstr "Código (SKU)" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 #: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" -msgstr "" +msgstr "Embalagem" #: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" -msgstr "" +msgstr "Quantidade de embalagens" #: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" -msgstr "" +msgstr "Disponibilidade do fornecedor" #: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" -msgstr "" +msgstr "Disponibilidade Atualizada" #: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" -msgstr "" +msgstr "Disponibilidade" #: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" -msgstr "" +msgstr "Detalhes de Peça do Fornecedor" #: src/pages/company/SupplierPartDetail.tsx:210 #: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" -msgstr "" +msgstr "Estoque Recebido" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" -msgstr "" +msgstr "Preço do fornecedor" #: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" -msgstr "" +msgstr "Ações de Peças do Fornecedor" #: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" -msgstr "" +msgstr "Editar Peça do Fornecedor" #: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" -msgstr "" +msgstr "Adicionar Peça do Fornecedor" #: src/pages/part/CategoryDetail.tsx:84 #: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" -msgstr "" +msgstr "Caminho" #: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" -msgstr "" +msgstr "Categoria Pai" #: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" -msgstr "" +msgstr "Sub-categorias" #: src/pages/part/CategoryDetail.tsx:124 #: src/pages/stock/LocationDetail.tsx:131 #: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" -msgstr "" +msgstr "Estrutural" #: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" -msgstr "" +msgstr "Localização padrão do pai" #: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" -msgstr "" +msgstr "Local Padrão" #: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" -msgstr "" +msgstr "Categoria de peça de nível superior" #: src/pages/part/CategoryDetail.tsx:158 #: src/pages/part/CategoryDetail.tsx:212 #: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" -msgstr "" +msgstr "Editar Categoria da Peça" #: src/pages/part/CategoryDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:223 @@ -3972,17 +3990,17 @@ msgstr "" #: src/pages/part/PartDetail.tsx:140 msgid "Variant of" -msgstr "" +msgstr "Variante de" #: src/pages/part/PartDetail.tsx:147 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" -msgstr "" +msgstr "Categoria" #: src/pages/part/PartDetail.tsx:153 msgid "Default Location" -msgstr "" +msgstr "Local Padrão" #: src/pages/part/PartDetail.tsx:160 msgid "Category Default Location" @@ -3990,63 +4008,63 @@ msgstr "" #: src/pages/part/PartDetail.tsx:167 msgid "IPN" -msgstr "" +msgstr "IPN" #: src/pages/part/PartDetail.tsx:174 msgid "Revision" -msgstr "" +msgstr "Revisão" #: src/pages/part/PartDetail.tsx:181 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" -msgstr "" +msgstr "Unidades" #: src/pages/part/PartDetail.tsx:188 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" -msgstr "" +msgstr "Palavras-chave" #: src/pages/part/PartDetail.tsx:195 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 #: src/pages/sales/ReturnOrderDetail.tsx:150 #: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" -msgstr "" +msgstr "Link" #: src/pages/part/PartDetail.tsx:213 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" -msgstr "" +msgstr "Estoque Disponível" #: src/pages/part/PartDetail.tsx:220 msgid "Minimum Stock" -msgstr "" +msgstr "Estoque Mínimo" #: src/pages/part/PartDetail.tsx:226 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" -msgstr "" +msgstr "No pedido" #: src/pages/part/PartDetail.tsx:235 msgid "Allocated to Build Orders" -msgstr "" +msgstr "Alocado para Pedidos de Construção" #: src/pages/part/PartDetail.tsx:243 msgid "Allocated to Sales Orders" -msgstr "" +msgstr "Alocado para Pedidos de Venda" #: src/pages/part/PartDetail.tsx:250 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" -msgstr "" +msgstr "Pode Produzir" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" -msgstr "" +msgstr "Produzindo" #: src/pages/part/PartDetail.tsx:266 #: src/tables/bom/UsedInTable.tsx:73 @@ -4064,7 +4082,7 @@ msgstr "" #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" -msgstr "" +msgstr "Ativo" #: src/pages/part/PartDetail.tsx:271 msgid "Template Part" @@ -4073,7 +4091,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:276 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" -msgstr "" +msgstr "Peça Montada" #: src/pages/part/PartDetail.tsx:281 msgid "Component Part" @@ -4082,7 +4100,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:286 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" -msgstr "" +msgstr "Peça Rastreável" #: src/pages/part/PartDetail.tsx:291 msgid "Purchaseable Part" @@ -4099,7 +4117,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:309 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" -msgstr "" +msgstr "Criado em" #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" @@ -4119,17 +4137,17 @@ msgstr "" #: src/pages/part/PartDetail.tsx:329 msgid "Default Supplier" -msgstr "" +msgstr "Fornecedor Padrão" #: src/pages/part/PartDetail.tsx:340 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" -msgstr "" +msgstr "Faixa de Preço" #: src/pages/part/PartDetail.tsx:375 #: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" -msgstr "" +msgstr "Último Balanço" #: src/pages/part/PartDetail.tsx:410 msgid "Stocktake By" @@ -4141,20 +4159,20 @@ msgstr "" #: src/pages/part/PartDetail.tsx:507 msgid "Variants" -msgstr "" +msgstr "Variantes" #: src/pages/part/PartDetail.tsx:514 #: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" -msgstr "" +msgstr "Alocações" #: src/pages/part/PartDetail.tsx:520 msgid "Bill of Materials" -msgstr "" +msgstr "Lista de Materiais" #: src/pages/part/PartDetail.tsx:534 msgid "Used In" -msgstr "" +msgstr "Usado em" #: src/pages/part/PartDetail.tsx:541 msgid "Part Pricing" @@ -4163,19 +4181,19 @@ msgstr "" #: src/pages/part/PartDetail.tsx:547 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" -msgstr "" +msgstr "Fabricantes" #: src/pages/part/PartDetail.tsx:586 msgid "Scheduling" -msgstr "" +msgstr "Agendamento" #: src/pages/part/PartDetail.tsx:596 msgid "Test Templates" -msgstr "" +msgstr "Testar Modelos" #: src/pages/part/PartDetail.tsx:607 msgid "Related Parts" -msgstr "" +msgstr "Peças Relacionadas" #: src/pages/part/PartDetail.tsx:662 #: src/pages/stock/StockDetail.tsx:151 @@ -4185,7 +4203,7 @@ msgstr "" #: src/tables/stock/StockItemTable.tsx:166 #: src/tables/stock/StockItemTable.tsx:275 msgid "Available" -msgstr "" +msgstr "Disponível" #: src/pages/part/PartDetail.tsx:668 msgid "No Stock" @@ -4195,17 +4213,17 @@ msgstr "" #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" -msgstr "" +msgstr "No pedido" #: src/pages/part/PartDetail.tsx:680 #: src/pages/stock/StockDetail.tsx:512 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" -msgstr "" +msgstr "Em Produção" #: src/pages/part/PartDetail.tsx:699 msgid "Edit Part" -msgstr "" +msgstr "Editar Peça" #: src/pages/part/PartDetail.tsx:706 #: src/tables/part/PartTable.tsx:266 @@ -4215,29 +4233,29 @@ msgstr "" #: src/pages/part/PartDetail.tsx:718 msgid "Delete Part" -msgstr "" +msgstr "Excluir Peça" #: src/pages/part/PartDetail.tsx:727 msgid "Deleting this part cannot be reversed" -msgstr "" +msgstr "Excluir esta peça não é reversível" #: src/pages/part/PartDetail.tsx:765 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" -msgstr "" +msgstr "Ações de Estoque" #: src/pages/part/PartDetail.tsx:773 msgid "Count part stock" -msgstr "" +msgstr "Contagem do estoque" #: src/pages/part/PartDetail.tsx:784 msgid "Transfer part stock" -msgstr "" +msgstr "Transferir estoque de peça" #: src/pages/part/PartDetail.tsx:793 msgid "Part Actions" -msgstr "" +msgstr "Ações da Peça" #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" @@ -4245,53 +4263,53 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:72 msgid "No pricing data found for this part." -msgstr "" +msgstr "Nenhum dado de preço foi encontrado para esta peça." #: src/pages/part/PartPricingPanel.tsx:86 msgid "Pricing Overview" -msgstr "" +msgstr "Resumo de Preços" #: src/pages/part/PartPricingPanel.tsx:92 msgid "Purchase History" -msgstr "" +msgstr "Histórico de Compras" #: src/pages/part/PartPricingPanel.tsx:106 #: src/pages/part/pricing/PricingOverviewPanel.tsx:109 msgid "Internal Pricing" -msgstr "" +msgstr "Preço Interno" #: src/pages/part/PartPricingPanel.tsx:124 #: src/pages/part/pricing/PricingOverviewPanel.tsx:116 msgid "BOM Pricing" -msgstr "" +msgstr "Preço LDM" #: src/pages/part/PartPricingPanel.tsx:131 #: src/pages/part/pricing/PricingOverviewPanel.tsx:137 msgid "Variant Pricing" -msgstr "" +msgstr "Preço de Variante" #: src/pages/part/PartPricingPanel.tsx:143 #: src/pages/part/pricing/PricingOverviewPanel.tsx:144 msgid "Sale Pricing" -msgstr "" +msgstr "Preço de Venda" #: src/pages/part/PartPricingPanel.tsx:150 #: src/pages/part/pricing/PricingOverviewPanel.tsx:151 msgid "Sale History" -msgstr "" +msgstr "Histórico de Vendas" #: src/pages/part/pricing/BomPricingPanel.tsx:112 msgid "Minimum Total Price" -msgstr "" +msgstr "Preço Mínimo Total" #: src/pages/part/pricing/BomPricingPanel.tsx:117 msgid "Maximum Total Price" -msgstr "" +msgstr "Preço Máximo Total" #: src/pages/part/pricing/BomPricingPanel.tsx:137 #: src/tables/part/PartTable.tsx:186 msgid "Component" -msgstr "" +msgstr "Componente" #: src/pages/part/pricing/BomPricingPanel.tsx:164 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 @@ -4301,7 +4319,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" -msgstr "" +msgstr "Preço Unitário" #: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 @@ -4310,144 +4328,144 @@ msgstr "" #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 msgid "Total Price" -msgstr "" +msgstr "Preço Total" #: src/pages/part/pricing/BomPricingPanel.tsx:189 #: src/pages/part/pricing/VariantPricingPanel.tsx:62 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" -msgstr "" +msgstr "Atualizado" #: src/pages/part/pricing/BomPricingPanel.tsx:254 msgid "Pie Chart" -msgstr "" +msgstr "Gráfico Pizza" #: src/pages/part/pricing/BomPricingPanel.tsx:255 msgid "Bar Chart" -msgstr "" +msgstr "Grafico de Barras" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 #: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" -msgstr "" +msgstr "Adicionar Quebra de Preço" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" -msgstr "" +msgstr "Editar Quebra de Preço" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" -msgstr "" +msgstr "Excluir Quebra de Preço" #: src/pages/part/pricing/PriceBreakPanel.tsx:100 #: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" -msgstr "" +msgstr "Quebra de Preço" #: src/pages/part/pricing/PricingOverviewPanel.tsx:60 msgid "Pricing Category" -msgstr "" +msgstr "Categoria de Precificação" #: src/pages/part/pricing/PricingOverviewPanel.tsx:79 msgid "Minimum" -msgstr "" +msgstr "Mínimo" #: src/pages/part/pricing/PricingOverviewPanel.tsx:91 msgid "Maximum" -msgstr "" +msgstr "Máximo" #: src/pages/part/pricing/PricingOverviewPanel.tsx:123 msgid "Purchase Pricing" -msgstr "" +msgstr "Preço de Compra" #: src/pages/part/pricing/PricingOverviewPanel.tsx:158 msgid "Override Pricing" -msgstr "" +msgstr "Sobrepor Precificação" #: src/pages/part/pricing/PricingOverviewPanel.tsx:165 msgid "Overall Pricing" -msgstr "" +msgstr "Precificação Geral" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 #: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" -msgstr "" +msgstr "Última Atualização" #: src/pages/part/pricing/PricingOverviewPanel.tsx:214 #: src/pages/part/pricing/VariantPricingPanel.tsx:46 #: src/pages/part/pricing/VariantPricingPanel.tsx:119 msgid "Minimum Price" -msgstr "" +msgstr "Preço Mínimo" #: src/pages/part/pricing/PricingOverviewPanel.tsx:219 #: src/pages/part/pricing/VariantPricingPanel.tsx:54 #: src/pages/part/pricing/VariantPricingPanel.tsx:124 msgid "Maximum Price" -msgstr "" +msgstr "Preço Máximo" #: src/pages/part/pricing/PricingPanel.tsx:25 msgid "No data available" -msgstr "" +msgstr "Nenhum dado disponível" #: src/pages/part/pricing/PricingPanel.tsx:66 msgid "No Data" -msgstr "" +msgstr "Sem dados" #: src/pages/part/pricing/PricingPanel.tsx:67 msgid "No pricing data available" -msgstr "" +msgstr "Não há informações de preço disponíveis" #: src/pages/part/pricing/PricingPanel.tsx:78 msgid "Loading pricing data" -msgstr "" +msgstr "Carregando dados de preços" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" -msgstr "" +msgstr "Data" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 msgid "Purchase Price" -msgstr "" +msgstr "Preço de Compra" #: src/pages/part/pricing/SaleHistoryPanel.tsx:32 msgid "Sale Order" -msgstr "" +msgstr "Pedido de Venda" #: src/pages/part/pricing/SaleHistoryPanel.tsx:52 #: src/pages/part/pricing/SaleHistoryPanel.tsx:115 msgid "Sale Price" -msgstr "" +msgstr "Preço de Venda" #: src/pages/part/pricing/SupplierPricingPanel.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" -msgstr "" +msgstr "Preço do fornecedor" #: src/pages/part/pricing/VariantPricingPanel.tsx:39 msgid "Variant Part" -msgstr "" +msgstr "Peça Variante" #: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" -msgstr "" +msgstr "Editar Pedido de Compra" #: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" -msgstr "" +msgstr "Adicionar Ordem de Compra" #: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" -msgstr "" +msgstr "Referencia do fornecedor" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 @@ -4456,20 +4474,20 @@ msgstr "" #: src/pages/sales/SalesOrderDetail.tsx:110 #: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" -msgstr "" +msgstr "Itens de linha" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 #: src/pages/sales/ReturnOrderDetail.tsx:113 #: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" -msgstr "" +msgstr "Itens de Linha Concluídos" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 #: src/pages/sales/ReturnOrderDetail.tsx:121 #: src/pages/sales/SalesOrderDetail.tsx:125 #: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" -msgstr "" +msgstr "Envios Concluídos" #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 @@ -4481,89 +4499,89 @@ msgstr "" #: src/pages/sales/ReturnOrderDetail.tsx:129 #: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Order Currency" -msgstr "" +msgstr "Moeda do pedido" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 #: src/pages/sales/ReturnOrderDetail.tsx:136 #: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" -msgstr "" +msgstr "Custo Total" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 #: src/pages/sales/ReturnOrderDetail.tsx:171 #: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" -msgstr "" +msgstr "Criado em" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 #: src/pages/sales/ReturnOrderDetail.tsx:216 #: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" -msgstr "" +msgstr "Detalhes do pedido" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 #: src/pages/sales/ReturnOrderDetail.tsx:297 #: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" -msgstr "" +msgstr "Ações de Pedido" #: src/pages/sales/ReturnOrderDetail.tsx:77 #: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" -msgstr "" +msgstr "Referência do Cliente" #: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" -msgstr "" +msgstr "Editar Pedido de Devolução" #: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" -msgstr "" +msgstr "Adicionar Pedido de Devolução" #: src/pages/sales/SalesIndex.tsx:33 msgid "Customers" -msgstr "" +msgstr "Clientes" #: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" -msgstr "" +msgstr "Editar Pedido de Venda" #: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" -msgstr "" +msgstr "Adicionar Pedido de Vendas" #: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" -msgstr "" +msgstr "Envios Pendentes" #: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" -msgstr "" +msgstr "Localização Pai" #: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" -msgstr "" +msgstr "Sub-locais" #: src/pages/stock/LocationDetail.tsx:137 msgid "External" -msgstr "" +msgstr "Externo" #: src/pages/stock/LocationDetail.tsx:143 msgid "Location Type" -msgstr "" +msgstr "Tipo de Localização" #: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" -msgstr "" +msgstr "Local de estoque de alto nível" #: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" -msgstr "" +msgstr "Detalhes da localização" #: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" @@ -4573,7 +4591,7 @@ msgstr "" #: src/pages/stock/LocationDetail.tsx:329 #: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" -msgstr "" +msgstr "Editar Local de Estoque" #: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:334 @@ -4602,7 +4620,7 @@ msgstr "" #: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" -msgstr "" +msgstr "Peça base" #: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" @@ -4643,23 +4661,23 @@ msgstr "" #: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" -msgstr "" +msgstr "Rastreamento de Estoque" #: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" -msgstr "" +msgstr "Dados de Teste" #: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" -msgstr "" +msgstr "Itens Instalados" #: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" -msgstr "" +msgstr "Itens Filhos" #: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" -msgstr "" +msgstr "Editar Item do Estoque" #: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" @@ -4671,30 +4689,30 @@ msgstr "" #: src/pages/stock/StockDetail.tsx:440 msgid "Stock Operations" -msgstr "" +msgstr "Operações de Estoque" #: src/pages/stock/StockDetail.tsx:445 msgid "Count stock" -msgstr "" +msgstr "Contagem de estoque" #: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" -msgstr "" +msgstr "Adicionar estoque" #: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" -msgstr "" +msgstr "Remover estoque" #: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" -msgstr "" +msgstr "Transferir" #: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" -msgstr "" +msgstr "Transferir estoque" #: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" @@ -4711,12 +4729,12 @@ msgstr "" #: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" -msgstr "" +msgstr "Moeda" #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" -msgstr "" +msgstr "Selecionar Colunas" #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" @@ -4728,11 +4746,11 @@ msgstr "" #: src/tables/DownloadAction.tsx:22 msgid "CSV" -msgstr "" +msgstr "CSV" #: src/tables/DownloadAction.tsx:23 msgid "TSV" -msgstr "" +msgstr "TSV" #: src/tables/DownloadAction.tsx:24 msgid "Excel (.xls)" @@ -4749,114 +4767,114 @@ msgstr "" #: src/tables/Filter.tsx:88 #: src/tables/build/BuildOrderTable.tsx:126 msgid "Assigned to me" -msgstr "" +msgstr "Atribuído a mim" #: src/tables/Filter.tsx:89 #: src/tables/build/BuildOrderTable.tsx:127 msgid "Show orders assigned to me" -msgstr "" +msgstr "Mostrar pedidos atribuídos a mim" #: src/tables/Filter.tsx:96 msgid "Outstanding" -msgstr "" +msgstr "Pendente" #: src/tables/Filter.tsx:97 msgid "Show outstanding orders" -msgstr "" +msgstr "Mostrar pedidos pendentes" #: src/tables/Filter.tsx:104 #: src/tables/build/BuildOrderTable.tsx:119 msgid "Overdue" -msgstr "" +msgstr "Em atraso" #: src/tables/Filter.tsx:105 msgid "Show overdue orders" -msgstr "" +msgstr "Mostrar pedidos atrasados" #: src/tables/FilterSelectDrawer.tsx:51 msgid "Remove filter" -msgstr "" +msgstr "Remover filtro" #: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" -msgstr "" +msgstr "Selecionar filtro" #: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" -msgstr "" +msgstr "Filtro" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" -msgstr "" +msgstr "Valor" #: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" -msgstr "" +msgstr "Selecionar valor do filtro" #: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" -msgstr "" +msgstr "Filtros da Tabela" #: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" -msgstr "" +msgstr "Adicionar Filtro" #: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" -msgstr "" +msgstr "Limpar Filtros" #: src/tables/InvenTreeTable.tsx:119 #: src/tables/InvenTreeTable.tsx:390 #: src/tables/InvenTreeTable.tsx:411 msgid "No records found" -msgstr "" +msgstr "Nenhum registro encontrado" #: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" -msgstr "" +msgstr "O servidor retornou um tipo de dado incorreto" #: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" -msgstr "" +msgstr "Requisição inválida" #: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" -msgstr "" +msgstr "Não autorizado" #: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" -msgstr "" +msgstr "Proibido" #: src/tables/InvenTreeTable.tsx:439 msgid "Not found" -msgstr "" +msgstr "Não encontrado" #: src/tables/InvenTreeTable.tsx:488 #: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" -msgstr "" +msgstr "Remover registros selecionados" #: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" -msgstr "" +msgstr "Tem certeza que deseja apagar os registros selecionados?" #: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" -msgstr "" +msgstr "Essa ação não pode ser desfeita!" #: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" -msgstr "" +msgstr "Registos removidos" #: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" -msgstr "" +msgstr "Registros foram removidos com sucesso" #: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" -msgstr "" +msgstr "Falha ao remover registros" #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 @@ -4866,28 +4884,28 @@ msgstr "" #: src/tables/InvenTreeTable.tsx:601 #: src/tables/InvenTreeTable.tsx:602 msgid "Barcode actions" -msgstr "" +msgstr "Ações de código de barras" #: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" -msgstr "" +msgstr "Atualizar dados" #: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" -msgstr "" +msgstr "Filtros da Tabela" #: src/tables/bom/BomTable.tsx:78 msgid "This BOM item is defined for a different parent" -msgstr "" +msgstr "Este item da BOM é definido para um pai diferente" #: src/tables/bom/BomTable.tsx:93 msgid "Part Information" -msgstr "" +msgstr "Informação da Peça" #: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" -msgstr "" +msgstr "Sem Estoque" #: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 @@ -4898,39 +4916,39 @@ msgstr "" #: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" -msgstr "" +msgstr "Incluir estoque de substitutos" #: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" -msgstr "" +msgstr "Incluir estoque de variantes" #: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" -msgstr "" +msgstr "Informação do Estoque" #: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" -msgstr "" +msgstr "Item Consumível" #: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" -msgstr "" +msgstr "Mostrar itens rastreáveis" #: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" -msgstr "" +msgstr "Exibir itens montados" #: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" -msgstr "" +msgstr "Mostrar itens com estoque disponível" #: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" -msgstr "" +msgstr "Mostrar itens no pedido" #: src/tables/bom/BomTable.tsx:281 msgid "Validated" @@ -4938,7 +4956,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" -msgstr "" +msgstr "Mostrar itens validados" #: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 @@ -4948,31 +4966,31 @@ msgstr "" #: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" -msgstr "" +msgstr "Mostrar itens herdados" #: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" -msgstr "" +msgstr "Opcional" #: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" -msgstr "" +msgstr "Mostrar itens opcionais" #: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" -msgstr "" +msgstr "Consumível" #: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" -msgstr "" +msgstr "Mostrar itens consumíveis" #: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" -msgstr "" +msgstr "Tem Preço" #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" @@ -4980,7 +4998,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:302 msgid "Show items with pricing" -msgstr "" +msgstr "Exibir itens com preço" #: src/tables/bom/BomTable.tsx:311 #: src/tables/bom/BomTable.tsx:399 @@ -5017,7 +5035,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:343 msgid "View BOM" -msgstr "" +msgstr "Ver BOM" #: src/tables/bom/BomTable.tsx:348 #~ msgid "Delete Bom Item" @@ -5033,51 +5051,51 @@ msgstr "" #: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" -msgstr "" +msgstr "Validar linha da BOM" #: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" -msgstr "" +msgstr "Editar substitutos" #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" -msgstr "" +msgstr "Mostrar montagens ativas" #: src/tables/bom/UsedInTable.tsx:78 #: src/tables/part/PartTable.tsx:192 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" -msgstr "" +msgstr "Rastreável" #: src/tables/bom/UsedInTable.tsx:79 msgid "Show trackable assemblies" -msgstr "" +msgstr "Mostrar montagens rastreáveis" #: src/tables/build/BuildLineTable.tsx:31 #: src/tables/stock/StockItemTable.tsx:270 msgid "Allocated" -msgstr "" +msgstr "Alocado" #: src/tables/build/BuildLineTable.tsx:32 msgid "Show allocated lines" -msgstr "" +msgstr "Mostrar linhas alocadas" #: src/tables/build/BuildLineTable.tsx:37 msgid "Show lines with available stock" -msgstr "" +msgstr "Mostrar linhas com estoque disponível" #: src/tables/build/BuildLineTable.tsx:42 msgid "Show consumable lines" -msgstr "" +msgstr "Mostrar linhas consumíveis" #: src/tables/build/BuildLineTable.tsx:47 msgid "Show optional lines" -msgstr "" +msgstr "Mostrar linhas opcionais" #: src/tables/build/BuildLineTable.tsx:51 #: src/tables/stock/StockItemTable.tsx:329 msgid "Tracked" -msgstr "" +msgstr "Monitorado" #: src/tables/build/BuildLineTable.tsx:52 msgid "Show tracked lines" @@ -5085,39 +5103,39 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:86 msgid "In production" -msgstr "" +msgstr "Em produção" #: src/tables/build/BuildLineTable.tsx:118 #: src/tables/stock/StockItemTable.tsx:175 msgid "No stock available" -msgstr "" +msgstr "Nenhum estoque disponível" #: src/tables/build/BuildLineTable.tsx:157 msgid "Unit Quantity" -msgstr "" +msgstr "Quantidade Unitária" #: src/tables/build/BuildLineTable.tsx:231 msgid "Order Stock" -msgstr "" +msgstr "Pedir estoque" #: src/tables/build/BuildLineTable.tsx:237 msgid "Build Stock" -msgstr "" +msgstr "Estoque de Produção" #: src/tables/build/BuildOrderTable.tsx:109 msgid "Show active orders" -msgstr "" +msgstr "Mostrar pedidos ativos" #: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 #: src/tables/sales/SalesOrderTable.tsx:53 msgid "Filter by order status" -msgstr "" +msgstr "Filtrar por estado do pedido" #: src/tables/build/BuildOrderTable.tsx:121 msgid "Show overdue status" -msgstr "" +msgstr "Mostrar estados atrasados" #: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 @@ -5232,23 +5250,23 @@ msgstr "" #: src/tables/company/AddressTable.tsx:121 #: src/tables/company/AddressTable.tsx:185 msgid "Add Address" -msgstr "" +msgstr "Adicionar endereço" #: src/tables/company/AddressTable.tsx:126 msgid "Address created" -msgstr "" +msgstr "Endereço criado" #: src/tables/company/AddressTable.tsx:135 msgid "Edit Address" -msgstr "" +msgstr "Editar o Endereço" #: src/tables/company/AddressTable.tsx:143 msgid "Delete Address" -msgstr "" +msgstr "Excluir Endereço" #: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" -msgstr "" +msgstr "Tem a certeza de que quer apagar esta endereço?" #: src/tables/company/CompanyTable.tsx:71 #~ msgid "New Company" @@ -5257,7 +5275,7 @@ msgstr "" #: src/tables/company/CompanyTable.tsx:74 #: src/tables/company/CompanyTable.tsx:123 msgid "Add Company" -msgstr "" +msgstr "Adicionar Empresa" #: src/tables/company/CompanyTable.tsx:96 msgid "Show active companies" @@ -5277,35 +5295,35 @@ msgstr "" #: src/tables/company/ContactTable.tsx:71 msgid "Edit Contact" -msgstr "" +msgstr "Editar Contato" #: src/tables/company/ContactTable.tsx:78 msgid "Add Contact" -msgstr "" +msgstr "Adicionar Contato" #: src/tables/company/ContactTable.tsx:89 msgid "Delete Contact" -msgstr "" +msgstr "Excluir Contato" #: src/tables/company/ContactTable.tsx:129 msgid "Add contact" -msgstr "" +msgstr "Adicionar contato" #: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" -msgstr "" +msgstr "Arquivo enviado" #: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" -msgstr "" +msgstr "Arquivo {0} carregado com sucesso" #: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" -msgstr "" +msgstr "Erro no carregamento" #: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" -msgstr "" +msgstr "Arquivo não pode ser carregado" #: src/tables/general/AttachmentTable.tsx:187 msgid "Upload Attachment" @@ -5317,15 +5335,15 @@ msgstr "" #: src/tables/general/AttachmentTable.tsx:211 msgid "Delete Attachment" -msgstr "" +msgstr "Excluir Anexo" #: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" -msgstr "" +msgstr "Adicionar anexo" #: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" -msgstr "" +msgstr "Adicionar um link externo" #: src/tables/general/AttachmentTable.tsx:254 #~ msgid "Upload attachment" @@ -5333,7 +5351,7 @@ msgstr "" #: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" -msgstr "" +msgstr "Nenhum anexo encontrado" #: src/tables/general/AttachmentTable.tsx:325 msgid "Drag attachment file here to upload" @@ -5465,7 +5483,7 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:180 #: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" -msgstr "" +msgstr "Embutido" #: src/tables/machine/MachineTypeTable.tsx:146 msgid "Available drivers" @@ -5497,12 +5515,12 @@ msgstr "" #: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" -msgstr "" +msgstr "Idade" #: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" -msgstr "" +msgstr "Mensagem" #: src/tables/part/ParametricPartTable.tsx:76 #: src/tables/part/PartParameterTable.tsx:88 @@ -5521,28 +5539,28 @@ msgstr "" #: src/tables/part/PartParameterTable.tsx:121 #: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" -msgstr "" +msgstr "Editar Parâmetro da Peça" #: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" -msgstr "" +msgstr "Incluir Subcategorias" #: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" -msgstr "" +msgstr "Incluir subcategorias nos resultados" #: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" -msgstr "" +msgstr "Mostrar categorias estruturais" #: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" -msgstr "" +msgstr "Nova Categoria de Peça" #: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" -msgstr "" +msgstr "Adicionar Categoria de Peça" #: src/tables/part/PartCategoryTemplateTable.tsx:38 #: src/tables/part/PartCategoryTemplateTable.tsx:131 @@ -5567,147 +5585,147 @@ msgstr "" #: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" -msgstr "" +msgstr "Novo Parâmetro de Peça" #: src/tables/part/PartParameterTable.tsx:130 #: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" -msgstr "" +msgstr "Apagar Parâmetro da Peça" #: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" -msgstr "" +msgstr "Adiciona parâmetro" #: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" -msgstr "" +msgstr "Incluir Variantes" #: src/tables/part/PartParameterTemplateTable.tsx:31 msgid "Checkbox" -msgstr "" +msgstr "Caixa de seleção" #: src/tables/part/PartParameterTemplateTable.tsx:32 msgid "Show checkbox templates" -msgstr "" +msgstr "Mostrar modelos da caixa de seleção" #: src/tables/part/PartParameterTemplateTable.tsx:36 msgid "Has choices" -msgstr "" +msgstr "Tem escolhas" #: src/tables/part/PartParameterTemplateTable.tsx:37 msgid "Show templates with choices" -msgstr "" +msgstr "Mostrar modelos com escolhas" #: src/tables/part/PartParameterTemplateTable.tsx:41 #: src/tables/part/PartTable.tsx:198 msgid "Has Units" -msgstr "" +msgstr "Possui unidades" #: src/tables/part/PartParameterTemplateTable.tsx:42 msgid "Show templates with units" -msgstr "" +msgstr "Mostrar modelos com unidades" #: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" -msgstr "" +msgstr "Adicionar Modelo de Parâmetro" #: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" -msgstr "" +msgstr "Edital Modelo de Parâmetro" #: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" -msgstr "" +msgstr "Excluir Modelo de Parâmetro" #: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" -msgstr "" +msgstr "Adicionar modelo de parâmetro" #: src/tables/part/PartTable.tsx:67 msgid "Minimum stock" -msgstr "" +msgstr "Estoque mínimo" #: src/tables/part/PartTable.tsx:89 msgid "Build Order Allocations" -msgstr "" +msgstr "Alocações de Pedido de Produção" #: src/tables/part/PartTable.tsx:98 msgid "Sales Order Allocations" -msgstr "" +msgstr "Alocações do Pedido de Vendas" #: src/tables/part/PartTable.tsx:169 msgid "Filter by part active status" -msgstr "" +msgstr "Filtrar por peça em estado ativo" #: src/tables/part/PartTable.tsx:174 #: src/tables/stock/StockItemTable.tsx:265 msgid "Assembly" -msgstr "" +msgstr "Montagem" #: src/tables/part/PartTable.tsx:175 msgid "Filter by assembly attribute" -msgstr "" +msgstr "Filtrar por atributo de montagem" #: src/tables/part/PartTable.tsx:181 msgid "Include parts in subcategories" -msgstr "" +msgstr "Incluir peças em subcategorias" #: src/tables/part/PartTable.tsx:187 msgid "Filter by component attribute" -msgstr "" +msgstr "Filtrar por atributo do componente" #: src/tables/part/PartTable.tsx:193 msgid "Filter by trackable attribute" -msgstr "" +msgstr "Filtrar por atributo rastreável" #: src/tables/part/PartTable.tsx:199 msgid "Filter by parts which have units" -msgstr "" +msgstr "Filtrar por peças que têm unidades" #: src/tables/part/PartTable.tsx:204 msgid "Has IPN" -msgstr "" +msgstr "Tem IPN" #: src/tables/part/PartTable.tsx:205 msgid "Filter by parts which have an internal part number" -msgstr "" +msgstr "Filtrar por partes que tenham um número de peça interna" #: src/tables/part/PartTable.tsx:210 msgid "Has Stock" -msgstr "" +msgstr "Tem estoque" #: src/tables/part/PartTable.tsx:211 msgid "Filter by parts which have stock" -msgstr "" +msgstr "Filtrar por peças que têm estoque" #: src/tables/part/PartTable.tsx:217 msgid "Filter by parts which have low stock" -msgstr "" +msgstr "Filtrar por peças que tenham estoque baixo" #: src/tables/part/PartTable.tsx:222 msgid "Purchaseable" -msgstr "" +msgstr "Comprável" #: src/tables/part/PartTable.tsx:223 msgid "Filter by parts which are purchaseable" -msgstr "" +msgstr "Filtrar por peças que são compráveis" #: src/tables/part/PartTable.tsx:228 msgid "Salable" -msgstr "" +msgstr "Vendível" #: src/tables/part/PartTable.tsx:229 msgid "Filter by parts which are salable" -msgstr "" +msgstr "Filtrar por peças que são vendíveis" #: src/tables/part/PartTable.tsx:235 msgid "Filter by parts which are virtual" -msgstr "" +msgstr "Filtrar por peças que são virtuais" #: src/tables/part/PartTable.tsx:239 msgid "Not Virtual" -msgstr "" +msgstr "Não é Virtual" #: src/tables/part/PartTestTemplateTable.tsx:52 msgid "Results" @@ -5724,7 +5742,7 @@ msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:80 msgid "Show required tests" -msgstr "" +msgstr "Mostrar testes necessários" #: src/tables/part/PartTestTemplateTable.tsx:84 #: src/tables/settings/TemplateTable.tsx:160 @@ -5742,7 +5760,7 @@ msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show tests that require a value" -msgstr "" +msgstr "Mostrar testes que exigem um valor" #: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Attachment" @@ -5750,7 +5768,7 @@ msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require an attachment" -msgstr "" +msgstr "Mostrar testes que exigem um anexo" #: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Include Inherited" @@ -5771,15 +5789,15 @@ msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 #: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" -msgstr "" +msgstr "Adicionar Modelo de Teste" #: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" -msgstr "" +msgstr "Editar Modelo de Teste" #: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" -msgstr "" +msgstr "Excluir Modelo de Teste" #: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" @@ -5795,39 +5813,39 @@ msgstr "Selecionar" #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" -msgstr "" +msgstr "Mostrar variantes ativos" #: src/tables/part/PartVariantTable.tsx:20 msgid "Template" -msgstr "" +msgstr "Modelo" #: src/tables/part/PartVariantTable.tsx:21 msgid "Show template variants" -msgstr "" +msgstr "Mostrar variantes modelo" #: src/tables/part/PartVariantTable.tsx:26 msgid "Show virtual variants" -msgstr "" +msgstr "Mostrar variantes virtuais" #: src/tables/part/PartVariantTable.tsx:31 msgid "Show trackable variants" -msgstr "" +msgstr "Mostrar variantes rastreáveis" #: src/tables/part/RelatedPartTable.tsx:84 msgid "Add Related Part" -msgstr "" +msgstr "Adicionar Peça Relacionada" #: src/tables/part/RelatedPartTable.tsx:99 msgid "Delete Related Part" -msgstr "" +msgstr "Excluir Peça Relacionada" #: src/tables/part/RelatedPartTable.tsx:106 msgid "Add related part" -msgstr "" +msgstr "Adicionar peça relacionada" #: src/tables/plugin/PluginErrorTable.tsx:29 msgid "Stage" -msgstr "" +msgstr "Fase" #: src/tables/plugin/PluginListTable.tsx:95 msgid "Plugin with key {pluginKey} not found" @@ -5835,7 +5853,7 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" -msgstr "" +msgstr "Ocorreu um erro ao obter os detalhes do plugin" #: src/tables/plugin/PluginListTable.tsx:113 #~ msgid "Plugin with id {id} not found" @@ -5843,11 +5861,11 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" -msgstr "" +msgstr "Informações do plugin" #: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" -msgstr "" +msgstr "Autor" #: src/tables/plugin/PluginListTable.tsx:134 #~ msgid "Plugin Actions" @@ -5869,7 +5887,7 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" -msgstr "" +msgstr "Informações do pacote" #: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" @@ -5885,35 +5903,35 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" -msgstr "" +msgstr "Configurações do Plugin" #: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" -msgstr "" +msgstr "Plugin está ativo" #: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" -msgstr "" +msgstr "Plugin está inativo" #: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" -msgstr "" +msgstr "Plugin não está instalado" #: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" -msgstr "" +msgstr "Plugin" #: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" -msgstr "" +msgstr "Descrição não disponível" #: src/tables/plugin/PluginListTable.tsx:319 msgid "Confirm plugin activation" -msgstr "" +msgstr "Confirmar ativação do plugin" #: src/tables/plugin/PluginListTable.tsx:320 msgid "Confirm plugin deactivation" -msgstr "" +msgstr "Confirmar desativação do plugin" #: src/tables/plugin/PluginListTable.tsx:325 msgid "The selected plugin will be activated" @@ -5925,7 +5943,7 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" -msgstr "" +msgstr "Ativar Plugin" #: src/tables/plugin/PluginListTable.tsx:338 #~ msgid "Deactivate Plugin" @@ -5941,7 +5959,7 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" -msgstr "" +msgstr "Desativar" #: src/tables/plugin/PluginListTable.tsx:366 #~ msgid "Confirm" @@ -5949,7 +5967,7 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" -msgstr "" +msgstr "Ativar" #: src/tables/plugin/PluginListTable.tsx:376 #~ msgid "Activating plugin" @@ -5981,15 +5999,15 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" -msgstr "" +msgstr "Instalar plugin" #: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" -msgstr "" +msgstr "Instalar" #: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" -msgstr "" +msgstr "Plugin instalado com sucesso" #: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" @@ -6021,19 +6039,19 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" -msgstr "" +msgstr "Plugins recarregados" #: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" -msgstr "" +msgstr "Plugins foram recarregados com sucesso" #: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" -msgstr "" +msgstr "Recarregar plugins" #: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" -msgstr "" +msgstr "Instalar Plugin" #: src/tables/plugin/PluginListTable.tsx:544 msgid "Plugin Detail" @@ -6041,12 +6059,12 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:573 msgid "Sample" -msgstr "" +msgstr "Amostra" #: src/tables/plugin/PluginListTable.tsx:578 #: src/tables/stock/StockItemTable.tsx:305 msgid "Installed" -msgstr "" +msgstr "Instalado" #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" @@ -6063,7 +6081,7 @@ msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 msgid "Edit Parameter" -msgstr "" +msgstr "Editar Parâmetro" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 #~ msgid "Parameter deleted" @@ -6075,7 +6093,7 @@ msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 msgid "Delete Parameter" -msgstr "" +msgstr "Excluir Parâmetro" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" @@ -6083,7 +6101,7 @@ msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" -msgstr "" +msgstr "Excluir Peça do Fabricante" #: src/tables/purchasing/ManufacturerPartTable.tsx:100 #~ msgid "Manufacturer part updated" @@ -6099,71 +6117,71 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" -msgstr "" +msgstr "Descrição da Peça" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113 msgid "Total Quantity" -msgstr "" +msgstr "Quantidade Total" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129 msgid "Received" -msgstr "" +msgstr "Recebido" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148 msgid "Supplier Code" -msgstr "" +msgstr "Código do Fornecedor" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155 msgid "Supplier Link" -msgstr "" +msgstr "Link do Fornecedor" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162 msgid "Manufacturer Code" -msgstr "" +msgstr "Código do Fabricante" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176 msgid "Destination" -msgstr "" +msgstr "Destino" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198 msgid "Add Line Item" -msgstr "" +msgstr "Adicionar Item de Linha" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 msgid "Edit Line Item" -msgstr "" +msgstr "Editar Item de Linha" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223 msgid "Delete Line Item" -msgstr "" +msgstr "Excluir Item de Linha" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234 msgid "Receive line item" -msgstr "" +msgstr "Receber item de linha" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272 msgid "Add line item" -msgstr "" +msgstr "Adicionar item de linha" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282 msgid "Receive items" -msgstr "" +msgstr "Receber itens" #: src/tables/purchasing/SupplierPartTable.tsx:93 msgid "MPN" -msgstr "" +msgstr "MPN" #: src/tables/purchasing/SupplierPartTable.tsx:122 msgid "Base units" -msgstr "" +msgstr "Unidade base" #: src/tables/purchasing/SupplierPartTable.tsx:170 msgid "Supplier part created" -msgstr "" +msgstr "Peça do fornecedor criada" #: src/tables/purchasing/SupplierPartTable.tsx:176 msgid "Add supplier part" -msgstr "" +msgstr "Adicionar peça do fornecedor" #: src/tables/purchasing/SupplierPartTable.tsx:188 msgid "Show active supplier parts" @@ -6199,47 +6217,47 @@ msgstr "" #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" -msgstr "" +msgstr "Excluir Peça do Fornecedor" #: src/tables/settings/CurrencyTable.tsx:28 msgid "Rate" -msgstr "" +msgstr "Taxa" #: src/tables/settings/CurrencyTable.tsx:40 msgid "Exchange rates updated" -msgstr "" +msgstr "Taxas de câmbio atualizadas" #: src/tables/settings/CurrencyTable.tsx:46 msgid "Exchange rate update error" -msgstr "" +msgstr "Erro ao atualizar taxa de câmbio" #: src/tables/settings/CurrencyTable.tsx:57 msgid "Refresh currency exchange rates" -msgstr "" +msgstr "Atualizar taxas de câmbio" #: src/tables/settings/CustomUnitsTable.tsx:50 msgid "Add Custom Unit" -msgstr "" +msgstr "Adicionar Unidade Personalizada" #: src/tables/settings/CustomUnitsTable.tsx:60 msgid "Edit Custom Unit" -msgstr "" +msgstr "Editar Unidade Personalizada" #: src/tables/settings/CustomUnitsTable.tsx:68 msgid "Delete Custom Unit" -msgstr "" +msgstr "Excluir Unidade Personalizada" #: src/tables/settings/CustomUnitsTable.tsx:100 msgid "Add custom unit" -msgstr "" +msgstr "Adicionar unidade personalizada" #: src/tables/settings/ErrorTable.tsx:29 msgid "When" -msgstr "" +msgstr "Quando" #: src/tables/settings/ErrorTable.tsx:39 msgid "Error Information" -msgstr "" +msgstr "Informação do erro" #: src/tables/settings/ErrorTable.tsx:51 msgid "Delete Error Report" @@ -6251,101 +6269,101 @@ msgstr "" #: src/tables/settings/ErrorTable.tsx:53 msgid "Are you sure you want to delete this error report?" -msgstr "" +msgstr "Tem certeza de que deseja excluir este relatório de erro?" #: src/tables/settings/ErrorTable.tsx:55 msgid "Error report deleted" -msgstr "" +msgstr "Relatório de erro excluído" #: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" -msgstr "" +msgstr "Detalhes do Erro" #: src/tables/settings/FailedTasksTable.tsx:24 #: src/tables/settings/PendingTasksTable.tsx:17 #: src/tables/settings/ScheduledTasksTable.tsx:19 msgid "Task" -msgstr "" +msgstr "Tarefa" #: src/tables/settings/FailedTasksTable.tsx:30 #: src/tables/settings/PendingTasksTable.tsx:22 msgid "Task ID" -msgstr "" +msgstr "ID da Tarefa" #: src/tables/settings/FailedTasksTable.tsx:34 #: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" -msgstr "" +msgstr "Iniciado" #: src/tables/settings/FailedTasksTable.tsx:40 msgid "Stopped" -msgstr "" +msgstr "Parado" #: src/tables/settings/FailedTasksTable.tsx:46 msgid "Attempts" -msgstr "" +msgstr "Tentativas" #: src/tables/settings/GroupTable.tsx:51 msgid "Group with id {id} not found" -msgstr "" +msgstr "Grupo com o id {id} não encontrado" #: src/tables/settings/GroupTable.tsx:53 msgid "An error occurred while fetching group details" -msgstr "" +msgstr "Ocorreu um erro ao obter os detalhes do grupo" #: src/tables/settings/GroupTable.tsx:77 msgid "Permission set" -msgstr "" +msgstr "Permissão definida" #: src/tables/settings/GroupTable.tsx:126 msgid "Delete group" -msgstr "" +msgstr "Apagar grupo" #: src/tables/settings/GroupTable.tsx:127 msgid "Group deleted" -msgstr "" +msgstr "Grupo excluído" #: src/tables/settings/GroupTable.tsx:129 msgid "Are you sure you want to delete this group?" -msgstr "" +msgstr "Você tem certeza de que deseja excluir este grupo?" #: src/tables/settings/GroupTable.tsx:134 #: src/tables/settings/GroupTable.tsx:146 msgid "Add group" -msgstr "" +msgstr "Adicionar grupo" #: src/tables/settings/GroupTable.tsx:158 msgid "Edit group" -msgstr "" +msgstr "Editar grupo" #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" -msgstr "" +msgstr "Argumentos" #: src/tables/settings/ProjectCodeTable.tsx:42 msgid "Add Project Code" -msgstr "" +msgstr "Adicionar Código do Projeto" #: src/tables/settings/ProjectCodeTable.tsx:54 msgid "Edit Project Code" -msgstr "" +msgstr "Editar Código do Projeto" #: src/tables/settings/ProjectCodeTable.tsx:62 msgid "Delete Project Code" -msgstr "" +msgstr "Excluir Código do Projeto" #: src/tables/settings/ProjectCodeTable.tsx:94 msgid "Add project code" -msgstr "" +msgstr "Adicionar código do projeto" #: src/tables/settings/ScheduledTasksTable.tsx:25 msgid "Last Run" -msgstr "" +msgstr "Última Execução" #: src/tables/settings/ScheduledTasksTable.tsx:47 msgid "Next Run" -msgstr "" +msgstr "Próxima Execução" #: src/tables/settings/TemplateTable.tsx:82 msgid "Template not found" @@ -6414,68 +6432,68 @@ msgstr "" #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" -msgstr "" +msgstr "Usuário com o id {id} não encontrado" #: src/tables/settings/UserTable.tsx:81 msgid "An error occurred while fetching user details" -msgstr "" +msgstr "Ocorreu um erro ao obter os detalhes do usuário" #: src/tables/settings/UserTable.tsx:99 msgid "Is Active" -msgstr "" +msgstr "Está Ativo" #: src/tables/settings/UserTable.tsx:100 msgid "Designates whether this user should be treated as active. Unselect this instead of deleting accounts." -msgstr "" +msgstr "Designa se esse usuário deve ser tratado como ativo. Desmarque isso em vez de excluir contas." #: src/tables/settings/UserTable.tsx:104 msgid "Is Staff" -msgstr "" +msgstr "É da Equipe" #: src/tables/settings/UserTable.tsx:105 msgid "Designates whether the user can log into the django admin site." -msgstr "" +msgstr "Designa se o usuário pode fazer entrar no site administrativo do django." #: src/tables/settings/UserTable.tsx:109 msgid "Is Superuser" -msgstr "" +msgstr "É Superusuário" #: src/tables/settings/UserTable.tsx:110 msgid "Designates that this user has all permissions without explicitly assigning them." -msgstr "" +msgstr "Indica que este usuário tem todas as permissões sem atribuí-las explicitamente." #: src/tables/settings/UserTable.tsx:120 msgid "You cannot edit the rights for the currently logged-in user." -msgstr "" +msgstr "Você não pode editar os direitos para o usuário conectado no momento." #: src/tables/settings/UserTable.tsx:151 msgid "No groups" -msgstr "" +msgstr "Sem grupos" #: src/tables/settings/UserTable.tsx:231 msgid "Delete user" -msgstr "" +msgstr "Excluir usuário" #: src/tables/settings/UserTable.tsx:232 msgid "User deleted" -msgstr "" +msgstr "Usuário excluído" #: src/tables/settings/UserTable.tsx:234 msgid "Are you sure you want to delete this user?" -msgstr "" +msgstr "Tem certeza de que deseja excluir este usuário?" #: src/tables/settings/UserTable.tsx:240 #: src/tables/settings/UserTable.tsx:258 msgid "Add user" -msgstr "" +msgstr "Adicionar usuário" #: src/tables/settings/UserTable.tsx:248 msgid "Added user" -msgstr "" +msgstr "Usuário adicionado" #: src/tables/settings/UserTable.tsx:270 msgid "Edit user" -msgstr "" +msgstr "Editar usuário" #: src/tables/stock/LocationTypesTable.tsx:36 #: src/tables/stock/LocationTypesTable.tsx:105 @@ -6496,140 +6514,140 @@ msgstr "" #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" -msgstr "" +msgstr "Este item de estoque está em produção" #: src/tables/stock/StockItemTable.tsx:99 msgid "This stock item has been assigned to a sales order" -msgstr "" +msgstr "Este item em estoque foi reservado para um pedido" #: src/tables/stock/StockItemTable.tsx:108 msgid "This stock item has been assigned to a customer" -msgstr "" +msgstr "Este item em estoque foi reservado para um cliente" #: src/tables/stock/StockItemTable.tsx:117 msgid "This stock item is installed in another stock item" -msgstr "" +msgstr "Este item em estoque foi instalado em outro item de estoque" #: src/tables/stock/StockItemTable.tsx:126 msgid "This stock item has been consumed by a build order" -msgstr "" +msgstr "Este item de estoque foi consumido por um pedido de produção" #: src/tables/stock/StockItemTable.tsx:135 msgid "This stock item has expired" -msgstr "" +msgstr "Este item de estoque expirou" #: src/tables/stock/StockItemTable.tsx:139 msgid "This stock item is stale" -msgstr "" +msgstr "Este item de estoque está velho" #: src/tables/stock/StockItemTable.tsx:150 msgid "This stock item is fully allocated" -msgstr "" +msgstr "Este item de estoque está totalmente alocado" #: src/tables/stock/StockItemTable.tsx:157 msgid "This stock item is partially allocated" -msgstr "" +msgstr "Este item de estoque está parcialmente alocado" #: src/tables/stock/StockItemTable.tsx:185 msgid "This stock item has been depleted" -msgstr "" +msgstr "Este item de estoque foi esgotado" #: src/tables/stock/StockItemTable.tsx:255 msgid "Show stock for active parts" -msgstr "" +msgstr "Mostrar estoque de peças ativas" #: src/tables/stock/StockItemTable.tsx:260 msgid "Filter by stock status" -msgstr "" +msgstr "Filtrar por estado do estoque" #: src/tables/stock/StockItemTable.tsx:266 msgid "Show stock for assmebled parts" -msgstr "" +msgstr "Mostrar estoque para peças montadas" #: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which have been allocated" -msgstr "" +msgstr "Mostrar itens que foram alocados" #: src/tables/stock/StockItemTable.tsx:276 msgid "Show items which are available" -msgstr "" +msgstr "Mostrar itens que estão disponíveis" #: src/tables/stock/StockItemTable.tsx:280 #: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" -msgstr "" +msgstr "Incluir Sublocais" #: src/tables/stock/StockItemTable.tsx:281 msgid "Include stock in sublocations" -msgstr "" +msgstr "Incluir estoque em sublocais" #: src/tables/stock/StockItemTable.tsx:285 msgid "Depleted" -msgstr "" +msgstr "Esgotado" #: src/tables/stock/StockItemTable.tsx:286 msgid "Show depleted stock items" -msgstr "" +msgstr "Mostrar itens de estoque esgotados" #: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which are in stock" -msgstr "" +msgstr "Mostrar itens que estão em estoque" #: src/tables/stock/StockItemTable.tsx:296 msgid "Show items which are in production" -msgstr "" +msgstr "Mostrar itens que estão em produção" #: src/tables/stock/StockItemTable.tsx:301 msgid "Include stock items for variant parts" -msgstr "" +msgstr "Incluir itens de estoque para peças variantes" #: src/tables/stock/StockItemTable.tsx:306 msgid "Show stock items which are installed in other items" -msgstr "" +msgstr "Mostrar itens de estoque que estão instalados em outros itens" #: src/tables/stock/StockItemTable.tsx:310 msgid "Sent to Customer" -msgstr "" +msgstr "Enviar para Cliente" #: src/tables/stock/StockItemTable.tsx:311 msgid "Show items which have been sent to a customer" -msgstr "" +msgstr "Mostrar itens enviados para um cliente" #: src/tables/stock/StockItemTable.tsx:315 msgid "Is Serialized" -msgstr "" +msgstr "É Serializado" #: src/tables/stock/StockItemTable.tsx:316 msgid "Show items which have a serial number" -msgstr "" +msgstr "Mostrar itens com um número de série" #: src/tables/stock/StockItemTable.tsx:323 msgid "Has Batch Code" -msgstr "" +msgstr "Possuí Código de Lote" #: src/tables/stock/StockItemTable.tsx:324 msgid "Show items which have a batch code" -msgstr "" +msgstr "Mostrar itens com um código de lote" #: src/tables/stock/StockItemTable.tsx:330 msgid "Show tracked items" -msgstr "" +msgstr "Mostrar itens monitorados" #: src/tables/stock/StockItemTable.tsx:334 msgid "Has Purchase Price" -msgstr "" +msgstr "Tem Preço de Compra" #: src/tables/stock/StockItemTable.tsx:335 msgid "Show items which have a purchase price" -msgstr "" +msgstr "Mostrar itens com preço de compra" #: src/tables/stock/StockItemTable.tsx:343 msgid "External Location" -msgstr "" +msgstr "Localização Externa" #: src/tables/stock/StockItemTable.tsx:344 msgid "Show items in an external location" -msgstr "" +msgstr "Mostrar itens com localização externa" #: src/tables/stock/StockItemTable.tsx:416 msgid "Add a new stock item" @@ -6774,7 +6792,7 @@ msgstr "" #: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" -msgstr "" +msgstr "Incluir sublocais nos resultados" #: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" @@ -6782,7 +6800,7 @@ msgstr "" #: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" -msgstr "" +msgstr "Mostrar locais estruturais" #: src/tables/stock/StockLocationTable.tsx:43 msgid "external" @@ -6790,16 +6808,16 @@ msgstr "" #: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" -msgstr "" +msgstr "Mostrar locais externos" #: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" -msgstr "" +msgstr "Tem Tipo de localização" #: src/tables/stock/StockLocationTable.tsx:85 #: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" -msgstr "" +msgstr "Adicionar Local de Estoque" #: src/tables/stock/StockTrackingTable.tsx:64 msgid "Added" @@ -6815,15 +6833,15 @@ msgstr "" #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" -msgstr "" +msgstr "Visualização móvel detectada" #: src/views/MobileAppView.tsx:25 msgid "Platform UI is optimized for Tablets and Desktops, you can use the official app for a mobile experience." -msgstr "" +msgstr "A interface de usuário da plataforma é otimizada para Tablets e Desktops, você pode usar o app oficial para uma experiência para celulares." #: src/views/MobileAppView.tsx:31 msgid "Read the docs" -msgstr "" +msgstr "Leia a documentação" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" diff --git a/src/frontend/src/locales/ru/messages.po b/src/frontend/src/locales/ru/messages.po index e62425c870..769bd9e7b9 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: 2024-05-23 11:39\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Russian\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" @@ -48,12 +48,12 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -207,7 +207,7 @@ msgstr "" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" @@ -248,6 +248,35 @@ msgstr "" msgid "Virtual" msgstr "" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "Успешно" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "" @@ -334,11 +363,6 @@ msgstr "" msgid "Form Error" msgstr "Ошибка формы" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "Успешно" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "Добавить узел" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "Сохранить" @@ -967,7 +990,7 @@ msgstr "Настройки аккаунта" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1109,7 +1132,7 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1160,7 +1183,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1227,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1257,7 +1280,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1282,7 +1305,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1304,7 +1327,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1385,7 +1408,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -1844,16 +1867,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -3394,22 +3413,22 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3417,7 +3436,7 @@ msgstr "" msgid "Build Orders" msgstr "Заказы на сборку" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3769,12 +3788,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -6827,3 +6846,4 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" + diff --git a/src/frontend/src/locales/sk/messages.po b/src/frontend/src/locales/sk/messages.po index ef602a2ddb..ec3de210c3 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: 2024-05-23 11:39\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" @@ -48,12 +48,12 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -207,7 +207,7 @@ msgstr "" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" @@ -248,6 +248,35 @@ msgstr "" msgid "Virtual" msgstr "" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "" @@ -334,11 +363,6 @@ msgstr "" msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -967,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1109,7 +1132,7 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1160,7 +1183,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1227,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1257,7 +1280,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1282,7 +1305,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1304,7 +1327,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1385,7 +1408,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -1844,16 +1867,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -3394,22 +3413,22 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3417,7 +3436,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3769,12 +3788,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -6827,3 +6846,4 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" + diff --git a/src/frontend/src/locales/sl/messages.po b/src/frontend/src/locales/sl/messages.po index 10e4b5395c..15e12cb5e1 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: 2024-05-23 11:39\n" +"PO-Revision-Date: 2024-06-04 12:39\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" @@ -48,12 +48,12 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -207,7 +207,7 @@ msgstr "" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" @@ -248,6 +248,35 @@ msgstr "" msgid "Virtual" msgstr "" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "" @@ -334,11 +363,6 @@ msgstr "" msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -967,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1109,7 +1132,7 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1160,7 +1183,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1227,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1257,7 +1280,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1282,7 +1305,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1304,7 +1327,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1385,7 +1408,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -1844,16 +1867,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -3394,22 +3413,22 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3417,7 +3436,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3769,12 +3788,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -6827,3 +6846,4 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" + diff --git a/src/frontend/src/locales/sr/messages.po b/src/frontend/src/locales/sr/messages.po index b0f4386c91..37c92ee7f2 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: 2024-05-23 11:39\n" +"PO-Revision-Date: 2024-06-04 12: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" @@ -48,12 +48,12 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -207,7 +207,7 @@ msgstr "" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" @@ -248,6 +248,35 @@ msgstr "" msgid "Virtual" msgstr "" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "Uspešno" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "" @@ -334,11 +363,6 @@ msgstr "" msgid "Form Error" msgstr "Greška Obrasca" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "Uspešno" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "Dodajte Host-a" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "Sačuvajte" @@ -967,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1109,7 +1132,7 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1160,7 +1183,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1227,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1257,7 +1280,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1282,7 +1305,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1304,7 +1327,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1385,7 +1408,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -1844,16 +1867,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -3394,22 +3413,22 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3417,7 +3436,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3769,12 +3788,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -6827,3 +6846,4 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" + diff --git a/src/frontend/src/locales/sv/messages.po b/src/frontend/src/locales/sv/messages.po index f6c2800fd8..d0dbf39b50 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: 2024-05-23 11:39\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -48,12 +48,12 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -207,7 +207,7 @@ msgstr "" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" @@ -248,6 +248,35 @@ msgstr "" msgid "Virtual" msgstr "Virtuell" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "Kod" @@ -334,11 +363,6 @@ msgstr "" msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "Lägg till värd" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "Spara" @@ -967,7 +990,7 @@ msgstr "Kontoinställningar" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1109,7 +1132,7 @@ msgstr "Artkel" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1160,7 +1183,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1227,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1257,7 +1280,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1282,7 +1305,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1304,7 +1327,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1385,7 +1408,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -1844,16 +1867,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -3394,22 +3413,22 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "Etiketter" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3417,7 +3436,7 @@ msgstr "" msgid "Build Orders" msgstr "Byggordrar" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3769,12 +3788,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "Redigera företag" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -6827,3 +6846,4 @@ msgstr "Läs dokumenten" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" + diff --git a/src/frontend/src/locales/th/messages.po b/src/frontend/src/locales/th/messages.po index 2d04293e1e..e4d9da6a86 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: 2024-05-23 11:39\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Thai\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -48,12 +48,12 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -207,7 +207,7 @@ msgstr "" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" @@ -248,6 +248,35 @@ msgstr "" msgid "Virtual" msgstr "" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "" @@ -334,11 +363,6 @@ msgstr "" msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -967,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1109,7 +1132,7 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1160,7 +1183,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1227,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1257,7 +1280,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1282,7 +1305,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1304,7 +1327,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1385,7 +1408,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -1844,16 +1867,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -3394,22 +3413,22 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3417,7 +3436,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3769,12 +3788,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -6827,3 +6846,4 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" + diff --git a/src/frontend/src/locales/tr/messages.po b/src/frontend/src/locales/tr/messages.po index 6e9adb0caf..7a8b261b47 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: 2024-05-23 11:39\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -48,12 +48,12 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -207,7 +207,7 @@ msgstr "" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" @@ -248,6 +248,35 @@ msgstr "" msgid "Virtual" msgstr "Sanal" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "Başarılı" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "" @@ -334,11 +363,6 @@ msgstr "" msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "Başarılı" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "Sunucu Ekle" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "Kaydet" @@ -967,7 +990,7 @@ msgstr "Hesap ayarları" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1109,7 +1132,7 @@ msgstr "Parça" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1160,7 +1183,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1227,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1257,7 +1280,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1282,7 +1305,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1304,7 +1327,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1385,7 +1408,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -1844,16 +1867,12 @@ msgid "Getting started" msgstr "Başlarken" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -3394,22 +3413,22 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3417,7 +3436,7 @@ msgstr "" msgid "Build Orders" msgstr "Yapım İşi Emirleri" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3769,12 +3788,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -6827,3 +6846,4 @@ msgstr "Belgeleri okuyun" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" + diff --git a/src/frontend/src/locales/uk/messages.po b/src/frontend/src/locales/uk/messages.po index fff8fdc018..0d3c782219 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: 2024-05-23 11:39\n" +"PO-Revision-Date: 2024-06-04 12:39\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" @@ -48,12 +48,12 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -207,7 +207,7 @@ msgstr "" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" @@ -248,6 +248,35 @@ msgstr "" msgid "Virtual" msgstr "" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "" @@ -334,11 +363,6 @@ msgstr "" msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -967,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1109,7 +1132,7 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1160,7 +1183,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1227,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1257,7 +1280,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1282,7 +1305,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1304,7 +1327,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1385,7 +1408,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -1844,16 +1867,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -3394,22 +3413,22 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3417,7 +3436,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3769,12 +3788,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -6827,3 +6846,4 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" + diff --git a/src/frontend/src/locales/vi/messages.po b/src/frontend/src/locales/vi/messages.po index 8d18905394..d89101effb 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: 2024-05-23 11:39\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -48,12 +48,12 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -207,7 +207,7 @@ msgstr "" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 #: src/pages/part/PartDetail.tsx:686 msgid "Inactive" @@ -248,6 +248,35 @@ msgstr "" msgid "Virtual" msgstr "Ảo" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "Thành công" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "Không lưu được chú thích" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "" @@ -334,11 +363,6 @@ msgstr "" msgid "Form Error" msgstr "Lỗi form" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "Thành công" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "Thêm host" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "Lưu lại" @@ -967,7 +990,7 @@ msgstr "Cài đặt tài khoản" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "Thiết lập hệ thống" @@ -1109,7 +1132,7 @@ msgstr "Phụ kiện" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1160,7 +1183,7 @@ msgid "Part Category" msgstr "Danh mục phụ kiện" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1227,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "Công ty" @@ -1257,7 +1280,7 @@ msgid "Purchase Order" msgstr "Đơn đặt mua" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1282,7 +1305,7 @@ msgid "Sales Order" msgstr "Đơn đặt bán" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1304,7 +1327,7 @@ msgid "Return Order" msgstr "Đơn hàng trả lại" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1385,7 +1408,7 @@ msgstr "Lô hàng" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -1844,16 +1867,12 @@ msgid "Getting started" msgstr "Bắt đầu" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "Lỗi tải ảnh lên" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "Ghi chú đã được lưu" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "Không lưu được chú thích" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -3394,22 +3413,22 @@ msgstr "Giá bán" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "Nhãn" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "Báo cáo" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "Kiểm kê" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3417,7 +3436,7 @@ msgstr "Kiểm kê" msgid "Build Orders" msgstr "Đơn đặt bản dựng" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "Chuyển sang thiết lập người dùng" @@ -3769,12 +3788,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "Sửa doanh nghiệp" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -6827,3 +6846,4 @@ msgstr "Đọc tài liệu" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" + diff --git a/src/frontend/src/locales/zh-hans/messages.po b/src/frontend/src/locales/zh-hans/messages.po index 237021b154..6984d8df77 100644 --- a/src/frontend/src/locales/zh-hans/messages.po +++ b/src/frontend/src/locales/zh-hans/messages.po @@ -943,7 +943,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1077,7 +1077,7 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1128,7 +1128,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1225,7 +1225,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1250,7 +1250,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1272,7 +1272,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1353,7 +1353,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -3154,22 +3154,22 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3177,7 +3177,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" diff --git a/src/frontend/src/locales/zh-hant/messages.po b/src/frontend/src/locales/zh-hant/messages.po index 507c3bc577..88456a526f 100644 --- a/src/frontend/src/locales/zh-hant/messages.po +++ b/src/frontend/src/locales/zh-hant/messages.po @@ -943,7 +943,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1077,7 +1077,7 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 @@ -1128,7 +1128,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:822 @@ -1225,7 +1225,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 #: src/pages/part/PartDetail.tsx:573 @@ -1250,7 +1250,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 #: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 @@ -1272,7 +1272,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:274 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1353,7 +1353,7 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/Index/Settings/SystemSettings.tsx:200 #: src/pages/part/PartDetail.tsx:493 #: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 @@ -3154,22 +3154,22 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/Index/Settings/SystemSettings.tsx:225 #: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 #: src/pages/part/PartDetail.tsx:527 @@ -3177,7 +3177,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" diff --git a/src/frontend/src/locales/zh/messages.po b/src/frontend/src/locales/zh/messages.po index 117bb9900c..4c1528d4d0 100644 --- a/src/frontend/src/locales/zh/messages.po +++ b/src/frontend/src/locales/zh/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: zh\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-23 11:39\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -46,14 +46,14 @@ msgstr "" msgid "Label printing completed successfully" msgstr "" -#: src/components/buttons/PrintingActions.tsx:106 -#: src/components/buttons/PrintingActions.tsx:143 -#: src/components/forms/ApiForm.tsx:504 +#: src/components/buttons/PrintingActions.tsx:107 +#: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 +#: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -63,31 +63,31 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/buttons/PrintingActions.tsx:107 +#: src/components/buttons/PrintingActions.tsx:108 msgid "The label could not be generated" msgstr "" -#: src/components/buttons/PrintingActions.tsx:122 +#: src/components/buttons/PrintingActions.tsx:123 msgid "Print Report" msgstr "" -#: src/components/buttons/PrintingActions.tsx:138 +#: src/components/buttons/PrintingActions.tsx:139 msgid "Report printing completed successfully" msgstr "" -#: src/components/buttons/PrintingActions.tsx:144 +#: src/components/buttons/PrintingActions.tsx:145 msgid "The report could not be generated" msgstr "" -#: src/components/buttons/PrintingActions.tsx:171 +#: src/components/buttons/PrintingActions.tsx:173 msgid "Printing Actions" msgstr "" -#: src/components/buttons/PrintingActions.tsx:176 +#: src/components/buttons/PrintingActions.tsx:178 msgid "Print Labels" msgstr "" -#: src/components/buttons/PrintingActions.tsx:182 +#: src/components/buttons/PrintingActions.tsx:184 msgid "Print Reports" msgstr "" @@ -175,7 +175,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:571 +#: src/components/forms/ApiForm.tsx:573 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -207,9 +207,9 @@ msgstr "" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:686 msgid "Inactive" msgstr "" @@ -248,6 +248,35 @@ msgstr "" msgid "Virtual" msgstr "" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "" @@ -329,26 +358,21 @@ msgstr "" msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:148 +#: src/components/forms/ApiForm.tsx:149 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:428 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:609 +#: src/components/forms/ApiForm.tsx:611 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:629 +#: src/components/forms/ApiForm.tsx:631 #: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 @@ -527,7 +551,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:126 +#: src/pages/part/PartDetail.tsx:127 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -967,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:294 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -1053,13 +1076,6 @@ msgstr "" msgid "Mark as read" msgstr "" -#: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:249 -msgid "Part Categories" -msgstr "" - #: src/components/nav/SearchDrawer.tsx:77 msgid "results" msgstr "" @@ -1092,12 +1108,6 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:185 -msgid "Stock Locations" -msgstr "" - #: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" @@ -1113,7 +1123,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:828 +#: src/pages/part/PartDetail.tsx:832 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1122,11 +1132,11 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:167 +#: src/pages/Index/Settings/SystemSettings.tsx:168 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:640 msgid "Parts" msgstr "" @@ -1168,12 +1178,20 @@ msgid "Manufacturer Parts" msgstr "" #: src/components/render/ModelType.tsx:63 -#: src/pages/part/CategoryDetail.tsx:288 +#: src/pages/part/CategoryDetail.tsx:291 msgid "Part Category" msgstr "" +#: src/components/render/ModelType.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/part/CategoryDetail.tsx:249 +#: src/pages/part/CategoryDetail.tsx:282 +#: src/pages/part/PartDetail.tsx:822 +msgid "Part Categories" +msgstr "" + #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:548 +#: src/pages/stock/StockDetail.tsx:560 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1182,7 +1200,7 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:199 #: src/pages/stock/LocationDetail.tsx:118 #: src/pages/stock/LocationDetail.tsx:171 -#: src/pages/stock/LocationDetail.tsx:365 +#: src/pages/stock/LocationDetail.tsx:369 msgid "Stock Items" msgstr "" @@ -1190,6 +1208,13 @@ msgstr "" msgid "Stock Location" msgstr "" +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 +#: src/pages/stock/LocationDetail.tsx:361 +#: src/pages/stock/StockDetail.tsx:552 +msgid "Stock Locations" +msgstr "" + #: src/components/render/ModelType.tsx:90 msgid "Stock Location Type" msgstr "" @@ -1225,7 +1250,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1255,10 +1280,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/Index/Settings/SystemSettings.tsx:244 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1280,9 +1305,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/Index/Settings/SystemSettings.tsx:259 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:578 +#: src/pages/part/PartDetail.tsx:579 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1302,7 +1327,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/Index/Settings/SystemSettings.tsx:275 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1383,9 +1408,9 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:199 -#: src/pages/part/PartDetail.tsx:492 -#: src/pages/stock/LocationDetail.tsx:344 +#: src/pages/Index/Settings/SystemSettings.tsx:200 +#: src/pages/part/PartDetail.tsx:493 +#: src/pages/stock/LocationDetail.tsx:345 #: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" @@ -1393,7 +1418,7 @@ msgstr "" #: src/components/render/Stock.tsx:52 #: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:514 +#: src/pages/stock/StockDetail.tsx:517 msgid "Serial Number" msgstr "" @@ -1402,7 +1427,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:144 #: src/pages/part/pricing/PriceBreakPanel.tsx:94 #: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:520 +#: src/pages/stock/StockDetail.tsx:523 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -1842,16 +1867,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -2535,8 +2556,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:206 -#: src/pages/part/PartDetail.tsx:655 +#: src/pages/part/PartDetail.tsx:207 +#: src/pages/part/PartDetail.tsx:656 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2578,12 +2599,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count Stock" msgstr "" @@ -3392,30 +3413,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:140 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 +#: src/pages/Index/Settings/SystemSettings.tsx:146 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:224 -#: src/pages/part/PartDetail.tsx:590 +#: src/pages/Index/Settings/SystemSettings.tsx:225 +#: src/pages/part/PartDetail.tsx:591 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:527 #: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:297 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3499,7 +3520,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:133 +#: src/pages/part/PartDetail.tsx:134 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 #: src/pages/sales/ReturnOrderDetail.tsx:91 #: src/pages/sales/SalesOrderDetail.tsx:95 @@ -3535,7 +3556,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:321 +#: src/pages/part/PartDetail.tsx:322 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 #: src/pages/sales/ReturnOrderDetail.tsx:184 #: src/pages/sales/SalesOrderDetail.tsx:188 @@ -3592,7 +3613,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:535 msgid "Batch Code" msgstr "" @@ -3636,7 +3657,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:612 +#: src/pages/part/PartDetail.tsx:613 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 #: src/pages/sales/ReturnOrderDetail.tsx:227 #: src/pages/sales/SalesOrderDetail.tsx:275 @@ -3646,7 +3667,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:625 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:239 #: src/pages/sales/SalesOrderDetail.tsx:287 @@ -3767,12 +3788,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -3802,12 +3823,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:487 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:559 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3967,85 +3988,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:139 +#: src/pages/part/PartDetail.tsx:140 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:147 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:153 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:159 +#: src/pages/part/PartDetail.tsx:160 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:167 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:173 +#: src/pages/part/PartDetail.tsx:174 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:180 +#: src/pages/part/PartDetail.tsx:181 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:187 +#: src/pages/part/PartDetail.tsx:188 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:194 +#: src/pages/part/PartDetail.tsx:195 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 #: src/pages/sales/ReturnOrderDetail.tsx:150 #: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:213 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:219 +#: src/pages/part/PartDetail.tsx:220 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:225 +#: src/pages/part/PartDetail.tsx:226 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:234 +#: src/pages/part/PartDetail.tsx:235 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:242 +#: src/pages/part/PartDetail.tsx:243 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:249 +#: src/pages/part/PartDetail.tsx:250 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:256 +#: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:266 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4063,37 +4084,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:270 +#: src/pages/part/PartDetail.tsx:271 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:276 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:280 +#: src/pages/part/PartDetail.tsx:281 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:285 +#: src/pages/part/PartDetail.tsx:286 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:290 +#: src/pages/part/PartDetail.tsx:291 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:296 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:300 +#: src/pages/part/PartDetail.tsx:301 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:308 +#: src/pages/part/PartDetail.tsx:309 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4102,7 +4123,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 +#: src/pages/part/PartDetail.tsx:314 msgid "Created By" msgstr "" @@ -4114,68 +4135,69 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:328 +#: src/pages/part/PartDetail.tsx:329 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:340 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:375 #: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:410 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:481 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:507 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:514 #: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:519 +#: src/pages/part/PartDetail.tsx:520 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:534 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:540 +#: src/pages/part/PartDetail.tsx:541 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:546 +#: src/pages/part/PartDetail.tsx:547 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:585 +#: src/pages/part/PartDetail.tsx:586 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:595 +#: src/pages/part/PartDetail.tsx:596 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:607 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:662 #: src/pages/stock/StockDetail.tsx:151 +#: src/pages/stock/StockDetail.tsx:529 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4183,55 +4205,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:668 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 +#: src/pages/part/PartDetail.tsx:674 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/part/PartDetail.tsx:680 +#: src/pages/stock/StockDetail.tsx:512 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:699 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 +#: src/pages/part/PartDetail.tsx:706 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:718 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:727 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 -#: src/pages/stock/LocationDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:765 +#: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:773 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:784 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:793 msgid "Part Actions" msgstr "" @@ -4566,13 +4588,13 @@ msgid "Default Parts" msgstr "" #: src/pages/stock/LocationDetail.tsx:210 -#: src/pages/stock/LocationDetail.tsx:328 +#: src/pages/stock/LocationDetail.tsx:329 #: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" #: src/pages/stock/LocationDetail.tsx:231 -#: src/pages/stock/LocationDetail.tsx:333 +#: src/pages/stock/LocationDetail.tsx:334 msgid "Delete Stock Location" msgstr "" @@ -4592,7 +4614,7 @@ msgstr "" msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:323 +#: src/pages/stock/LocationDetail.tsx:324 msgid "Location Actions" msgstr "" @@ -5500,20 +5522,20 @@ msgstr "" msgid "Message" msgstr "" -#: src/tables/part/ParametricPartTable.tsx:75 +#: src/tables/part/ParametricPartTable.tsx:76 #: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" -#: src/tables/part/ParametricPartTable.tsx:80 +#: src/tables/part/ParametricPartTable.tsx:81 msgid "Edit parameter" msgstr "" -#: src/tables/part/ParametricPartTable.tsx:133 +#: src/tables/part/ParametricPartTable.tsx:124 msgid "Add Part Parameter" msgstr "" -#: src/tables/part/ParametricPartTable.tsx:147 +#: src/tables/part/ParametricPartTable.tsx:138 #: src/tables/part/PartParameterTable.tsx:121 #: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" From a90b05add51ac91b0bc179f610e0ba88b2ed8879 Mon Sep 17 00:00:00 2001 From: Oliver Date: Sat, 8 Jun 2024 11:21:27 +1000 Subject: [PATCH 04/59] Test result choices (#7417) * Add "choices" field to PartTestTemplate - Will allow validation of "value" field on StockItemTestResult * Run validation against StockItemTestResult * Expose 'choices' to serializer * Update unit test * Add unit test for test result validation * Add 'choices' field for CUI forms * Add "choices" field to PUI form * Add 'choices' column to PartTestTemplateTable * memoize stockitemtestresult fields - Adjust field type of "value" field based on template choices * Bump API version --- .../InvenTree/InvenTree/api_version.py | 5 +- .../0123_parttesttemplate_choices.py | 18 +++ src/backend/InvenTree/part/models.py | 35 +++++ src/backend/InvenTree/part/serializers.py | 1 + src/backend/InvenTree/part/test_api.py | 138 ++++++++++++------ src/backend/InvenTree/stock/models.py | 31 ++-- src/backend/InvenTree/stock/test_api.py | 54 +++++++ .../InvenTree/templates/js/translated/part.js | 2 + src/frontend/src/forms/StockForms.tsx | 60 ++++++++ .../src/tables/part/PartTestTemplateTable.tsx | 6 + .../tables/stock/StockItemTestResultTable.tsx | 30 +--- 11 files changed, 298 insertions(+), 82 deletions(-) create mode 100644 src/backend/InvenTree/part/migrations/0123_parttesttemplate_choices.py diff --git a/src/backend/InvenTree/InvenTree/api_version.py b/src/backend/InvenTree/InvenTree/api_version.py index be2e321f6e..cd371ed20a 100644 --- a/src/backend/InvenTree/InvenTree/api_version.py +++ b/src/backend/InvenTree/InvenTree/api_version.py @@ -1,11 +1,14 @@ """InvenTree API version information.""" # InvenTree API version -INVENTREE_API_VERSION = 205 +INVENTREE_API_VERSION = 206 """Increment this API version number whenever there is a significant change to the API that any clients need to know about.""" INVENTREE_API_TEXT = """ +v206 - 2024-06-08 : https://github.com/inventree/InvenTree/pull/7417 + - Adds "choices" field to the PartTestTemplate model + v205 - 2024-06-03 : https://github.com/inventree/InvenTree/pull/7284 - Added model_type and model_id fields to the "NotesImage" serializer diff --git a/src/backend/InvenTree/part/migrations/0123_parttesttemplate_choices.py b/src/backend/InvenTree/part/migrations/0123_parttesttemplate_choices.py new file mode 100644 index 0000000000..df26051812 --- /dev/null +++ b/src/backend/InvenTree/part/migrations/0123_parttesttemplate_choices.py @@ -0,0 +1,18 @@ +# Generated by Django 4.2.12 on 2024-06-05 01:14 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('part', '0122_parttesttemplate_enabled'), + ] + + operations = [ + migrations.AddField( + model_name='parttesttemplate', + name='choices', + field=models.CharField(blank=True, help_text='Valid choices for this test (comma-separated)', max_length=5000, verbose_name='Choices'), + ), + ] diff --git a/src/backend/InvenTree/part/models.py b/src/backend/InvenTree/part/models.py index cd0282b908..5626d8d060 100644 --- a/src/backend/InvenTree/part/models.py +++ b/src/backend/InvenTree/part/models.py @@ -3470,6 +3470,27 @@ class PartTestTemplate(InvenTree.models.InvenTreeMetadataModel): ) }) + # Check that 'choices' are in fact valid + if self.choices is None: + self.choices = '' + else: + self.choices = str(self.choices).strip() + + if self.choices: + choice_set = set() + + for choice in self.choices.split(','): + choice = choice.strip() + + # Ignore empty choices + if not choice: + continue + + if choice in choice_set: + raise ValidationError({'choices': _('Choices must be unique')}) + + choice_set.add(choice) + self.validate_unique() super().clean() @@ -3548,6 +3569,20 @@ class PartTestTemplate(InvenTree.models.InvenTreeMetadataModel): ), ) + choices = models.CharField( + max_length=5000, + verbose_name=_('Choices'), + help_text=_('Valid choices for this test (comma-separated)'), + blank=True, + ) + + def get_choices(self): + """Return a list of valid choices for this test template.""" + if not self.choices: + return [] + + return [x.strip() for x in self.choices.split(',') if x.strip()] + def validate_template_name(name): """Placeholder for legacy function used in migrations.""" diff --git a/src/backend/InvenTree/part/serializers.py b/src/backend/InvenTree/part/serializers.py index 9575c2c329..3cf35becad 100644 --- a/src/backend/InvenTree/part/serializers.py +++ b/src/backend/InvenTree/part/serializers.py @@ -179,6 +179,7 @@ class PartTestTemplateSerializer(InvenTree.serializers.InvenTreeModelSerializer) 'requires_value', 'requires_attachment', 'results', + 'choices', ] key = serializers.CharField(read_only=True) diff --git a/src/backend/InvenTree/part/test_api.py b/src/backend/InvenTree/part/test_api.py index 7d998e0033..da3f4df47c 100644 --- a/src/backend/InvenTree/part/test_api.py +++ b/src/backend/InvenTree/part/test_api.py @@ -893,51 +893,6 @@ class PartAPITest(PartAPITestBase): # Now there should be 5 total parts self.assertEqual(len(response.data), 3) - def test_test_templates(self): - """Test the PartTestTemplate API.""" - url = reverse('api-part-test-template-list') - - # List ALL items - response = self.get(url) - self.assertEqual(len(response.data), 9) - - # Request for a particular part - response = self.get(url, data={'part': 10000}) - self.assertEqual(len(response.data), 5) - - response = self.get(url, data={'part': 10004}) - self.assertEqual(len(response.data), 6) - - # Try to post a new object (missing description) - response = self.post( - url, - data={'part': 10000, 'test_name': 'My very first test', 'required': False}, - expected_code=400, - ) - - # Try to post a new object (should succeed) - response = self.post( - url, - data={ - 'part': 10000, - 'test_name': 'New Test', - 'required': True, - 'description': 'a test description', - }, - ) - - # Try to post a new test with the same name (should fail) - response = self.post( - url, - data={'part': 10004, 'test_name': ' newtest', 'description': 'dafsdf'}, - expected_code=400, - ) - - # Try to post a new test against a non-trackable part (should fail) - response = self.post( - url, data={'part': 1, 'test_name': 'A simple test'}, expected_code=400 - ) - def test_get_thumbs(self): """Return list of part thumbnails.""" url = reverse('api-part-thumbs') @@ -2904,3 +2859,96 @@ class PartSchedulingTest(PartAPITestBase): for entry in data: for k in ['date', 'quantity', 'label']: self.assertIn(k, entry) + + +class PartTestTemplateTest(PartAPITestBase): + """API unit tests for the PartTestTemplate model.""" + + def test_test_templates(self): + """Test the PartTestTemplate API.""" + url = reverse('api-part-test-template-list') + + # List ALL items + response = self.get(url) + self.assertEqual(len(response.data), 9) + + # Request for a particular part + response = self.get(url, data={'part': 10000}) + self.assertEqual(len(response.data), 5) + + response = self.get(url, data={'part': 10004}) + self.assertEqual(len(response.data), 6) + + # Try to post a new object (missing description) + response = self.post( + url, + data={'part': 10000, 'test_name': 'My very first test', 'required': False}, + expected_code=400, + ) + + # Try to post a new object (should succeed) + response = self.post( + url, + data={ + 'part': 10000, + 'test_name': 'New Test', + 'required': True, + 'description': 'a test description', + }, + ) + + # Try to post a new test with the same name (should fail) + response = self.post( + url, + data={'part': 10004, 'test_name': ' newtest', 'description': 'dafsdf'}, + expected_code=400, + ) + + # Try to post a new test against a non-trackable part (should fail) + response = self.post( + url, data={'part': 1, 'test_name': 'A simple test'}, expected_code=400 + ) + + def test_choices(self): + """Test the 'choices' field for the PartTestTemplate model.""" + template = PartTestTemplate.objects.first() + + url = reverse('api-part-test-template-detail', kwargs={'pk': template.pk}) + + # Check OPTIONS response + response = self.options(url) + options = response.data['actions']['PUT'] + + self.assertTrue(options['pk']['read_only']) + self.assertTrue(options['pk']['required']) + self.assertEqual(options['part']['api_url'], '/api/part/') + self.assertTrue(options['test_name']['required']) + self.assertFalse(options['test_name']['read_only']) + self.assertFalse(options['choices']['required']) + self.assertFalse(options['choices']['read_only']) + self.assertEqual( + options['choices']['help_text'], + 'Valid choices for this test (comma-separated)', + ) + + # Check data endpoint + response = self.get(url) + data = response.data + + for key in [ + 'pk', + 'key', + 'part', + 'test_name', + 'description', + 'enabled', + 'required', + 'results', + 'choices', + ]: + self.assertIn(key, data) + + # Patch with invalid choices + response = self.patch(url, {'choices': 'a,b,c,d,e,f,f'}, expected_code=400) + + self.assertIn('Choices must be unique', str(response.data['choices'])) diff --git a/src/backend/InvenTree/stock/models.py b/src/backend/InvenTree/stock/models.py index 1def243c1a..aa1f797f5b 100644 --- a/src/backend/InvenTree/stock/models.py +++ b/src/backend/InvenTree/stock/models.py @@ -2380,23 +2380,28 @@ class StockItemTestResult(InvenTree.models.InvenTreeMetadataModel): super().clean() # If this test result corresponds to a template, check the requirements of the template - key = self.key + template = self.template - templates = self.stock_item.part.getTestTemplates() + if template is None: + # Fallback if there is no matching template + for template in self.stock_item.part.getTestTemplates(): + if self.key == template.key: + break - for template in templates: - if key == template.key: - if template.requires_value and not self.value: - raise ValidationError({ - 'value': _('Value must be provided for this test') - }) + if template: + if template.requires_value and not self.value: + raise ValidationError({ + 'value': _('Value must be provided for this test') + }) - if template.requires_attachment and not self.attachment: - raise ValidationError({ - 'attachment': _('Attachment must be uploaded for this test') - }) + if template.requires_attachment and not self.attachment: + raise ValidationError({ + 'attachment': _('Attachment must be uploaded for this test') + }) - break + if choices := template.get_choices(): + if self.value not in choices: + raise ValidationError({'value': _('Invalid value for this test')}) @property def key(self): diff --git a/src/backend/InvenTree/stock/test_api.py b/src/backend/InvenTree/stock/test_api.py index 07b08334ea..91dbccfbb0 100644 --- a/src/backend/InvenTree/stock/test_api.py +++ b/src/backend/InvenTree/stock/test_api.py @@ -1715,6 +1715,60 @@ class StockTestResultTest(StockAPITestCase): self.assertEqual(StockItemTestResult.objects.count(), n) + def test_value_choices(self): + """Test that the 'value' field is correctly validated.""" + url = reverse('api-stock-test-result-list') + + test_template = PartTestTemplate.objects.first() + + test_template.choices = 'AA, BB, CC' + test_template.save() + + stock_item = StockItem.objects.create( + part=test_template.part, quantity=1, location=StockLocation.objects.first() + ) + + # Create result with invalid choice + response = self.post( + url, + { + 'template': test_template.pk, + 'stock_item': stock_item.pk, + 'result': True, + 'value': 'DD', + }, + expected_code=400, + ) + + self.assertIn('Invalid value for this test', str(response.data['value'])) + + # Create result with valid choice + response = self.post( + url, + { + 'template': test_template.pk, + 'stock_item': stock_item.pk, + 'result': True, + 'value': 'BB', + }, + expected_code=201, + ) + + # Create result with unrestricted choice + test_template.choices = '' + test_template.save() + + response = self.post( + url, + { + 'template': test_template.pk, + 'stock_item': stock_item.pk, + 'result': False, + 'value': '12345', + }, + expected_code=201, + ) + class StockAssignTest(StockAPITestCase): """Unit tests for the stock assignment API endpoint, where stock items are manually assigned to a customer.""" diff --git a/src/backend/InvenTree/templates/js/translated/part.js b/src/backend/InvenTree/templates/js/translated/part.js index 48b3dcfdbb..f28281cfd7 100644 --- a/src/backend/InvenTree/templates/js/translated/part.js +++ b/src/backend/InvenTree/templates/js/translated/part.js @@ -305,6 +305,7 @@ function partFields(options={}) { function categoryFields(options={}) { let fields = { parent: { + label: '{% trans "Parent" %}', help_text: '{% trans "Parent part category" %}', required: false, tree_picker: { @@ -2827,6 +2828,7 @@ function partTestTemplateFields(options={}) { requires_value: {}, requires_attachment: {}, enabled: {}, + choices: {}, part: { hidden: true, } diff --git a/src/frontend/src/forms/StockForms.tsx b/src/frontend/src/forms/StockForms.tsx index c6a944992d..123a2834f0 100644 --- a/src/frontend/src/forms/StockForms.tsx +++ b/src/frontend/src/forms/StockForms.tsx @@ -866,3 +866,63 @@ export function stockLocationFields({}: {}): ApiFormFieldSet { return fields; } + +// Construct a set of fields for +export function useTestResultFields({ + partId, + itemId +}: { + partId: number; + itemId: number; +}): ApiFormFieldSet { + // Valid field choices + const [choices, setChoices] = useState([]); + + // Field type for the "value" input + const [fieldType, setFieldType] = useState<'string' | 'choice'>('string'); + + return useMemo(() => { + return { + stock_item: { + value: itemId, + hidden: true + }, + template: { + filters: { + include_inherited: true, + part: partId + }, + onValueChange: (value: any, record: any) => { + // Adjust the type of the "value" field based on the selected template + if (record?.choices) { + let _choices: string[] = record.choices.split(','); + + if (_choices.length > 0) { + setChoices( + _choices.map((choice) => { + return { + label: choice.trim(), + value: choice.trim() + }; + }) + ); + setFieldType('choice'); + } else { + setChoices([]); + setFieldType('string'); + } + } + } + }, + result: {}, + value: { + field_type: fieldType, + choices: fieldType === 'choice' ? choices : undefined + }, + attachment: {}, + notes: {}, + started_datetime: {}, + finished_datetime: {} + }; + }, [choices, fieldType, partId, itemId]); +} diff --git a/src/frontend/src/tables/part/PartTestTemplateTable.tsx b/src/frontend/src/tables/part/PartTestTemplateTable.tsx index 4b453f5b9e..6dd0af662d 100644 --- a/src/frontend/src/tables/part/PartTestTemplateTable.tsx +++ b/src/frontend/src/tables/part/PartTestTemplateTable.tsx @@ -60,6 +60,11 @@ export default function PartTestTemplateTable({ partId }: { partId: number }) { BooleanColumn({ accessor: 'enabled' }), + { + accessor: 'choices', + sortable: false, + switchable: true + }, BooleanColumn({ accessor: 'required' }), @@ -117,6 +122,7 @@ export default function PartTestTemplateTable({ partId }: { partId: number }) { required: {}, requires_value: {}, requires_attachment: {}, + choices: {}, enabled: {} }; }, [user]); diff --git a/src/frontend/src/tables/stock/StockItemTestResultTable.tsx b/src/frontend/src/tables/stock/StockItemTestResultTable.tsx index dfce96cb7d..68ea56fbc6 100644 --- a/src/frontend/src/tables/stock/StockItemTestResultTable.tsx +++ b/src/frontend/src/tables/stock/StockItemTestResultTable.tsx @@ -19,6 +19,7 @@ import { RenderUser } from '../../components/render/User'; import { renderDate } from '../../defaults/formatters'; import { ApiEndpoints } from '../../enums/ApiEndpoints'; import { UserRoles } from '../../enums/Roles'; +import { useTestResultFields } from '../../forms/StockForms'; import { useCreateApiFormModal, useDeleteApiFormModal, @@ -232,27 +233,10 @@ export default function StockItemTestResultTable({ ]; }, [itemId]); - const resultFields: ApiFormFieldSet = useMemo(() => { - return { - template: { - filters: { - include_inherited: true, - part: partId - } - }, - result: {}, - value: {}, - attachment: {}, - notes: {}, - test_station: {}, - started_datetime: {}, - finished_datetime: {}, - stock_item: { - value: itemId, - hidden: true - } - }; - }, [partId, itemId]); + const resultFields: ApiFormFieldSet = useTestResultFields({ + partId: partId, + itemId: itemId + }); const [selectedTemplate, setSelectedTemplate] = useState( undefined @@ -260,7 +244,7 @@ export default function StockItemTestResultTable({ const newTestModal = useCreateApiFormModal({ url: ApiEndpoints.stock_test_result_list, - fields: resultFields, + fields: useMemo(() => ({ ...resultFields }), [resultFields]), initialData: { template: selectedTemplate, result: true @@ -275,7 +259,7 @@ export default function StockItemTestResultTable({ const editTestModal = useEditApiFormModal({ url: ApiEndpoints.stock_test_result_list, pk: selectedTest, - fields: resultFields, + fields: useMemo(() => ({ ...resultFields }), [resultFields]), title: t`Edit Test Result`, table: table, successMessage: t`Test result updated` From 9f35971db17e1660fcd27c752558d41952a3e541 Mon Sep 17 00:00:00 2001 From: Oliver Date: Sat, 8 Jun 2024 14:33:30 +1000 Subject: [PATCH 05/59] Stock SKU export (#7418) * Add "choices" field to PartTestTemplate - Will allow validation of "value" field on StockItemTestResult * Run validation against StockItemTestResult * Export SKU in stock item resource --- src/backend/InvenTree/stock/admin.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/backend/InvenTree/stock/admin.py b/src/backend/InvenTree/stock/admin.py index 3601e992da..eca6728dac 100644 --- a/src/backend/InvenTree/stock/admin.py +++ b/src/backend/InvenTree/stock/admin.py @@ -180,6 +180,11 @@ class StockItemResource(InvenTreeResource): column_name=_('Supplier Part ID'), widget=widgets.ForeignKeyWidget(SupplierPart), ) + supplier_part_sku = Field( + attribute='supplier_part__SKU', + column_name=_('Supplier Part SKU'), + readonly=True, + ) supplier = Field( attribute='supplier_part__supplier__id', column_name=_('Supplier ID'), From 713d2ac9256122256b36bbcbcd10f5e165a85140 Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 10 Jun 2024 08:24:38 +1000 Subject: [PATCH 06/59] Mantine charts (#7419) * Install @mantine/charts * Import charts styles * Refactor * Refactor internal price panel * Refactor variant price panel * BOM bar chart * BOM donut * Refactor supplier pricing panel * More refaactoring * Cleanup unused imports * Fix typo * playwright test updates --- src/frontend/package.json | 1 + src/frontend/src/components/charts/colors.tsx | 20 ++-- .../components/charts/tooltipFormatter.tsx | 9 +- src/frontend/src/main.tsx | 1 + .../pages/part/pricing/BomPricingPanel.tsx | 110 ++++++------------ .../pages/part/pricing/PriceBreakPanel.tsx | 42 ++----- .../part/pricing/PricingOverviewPanel.tsx | 50 ++------ .../part/pricing/PurchaseHistoryPanel.tsx | 45 ++----- .../pages/part/pricing/SaleHistoryPanel.tsx | 40 ++----- .../part/pricing/SupplierPricingPanel.tsx | 49 +++----- .../part/pricing/VariantPricingPanel.tsx | 52 +++------ src/frontend/src/tables/InvenTreeTable.tsx | 6 +- src/frontend/tests/pages/pui_part.spec.ts | 16 +-- src/frontend/yarn.lock | 5 + 14 files changed, 136 insertions(+), 310 deletions(-) diff --git a/src/frontend/package.json b/src/frontend/package.json index 285078580f..af2378e32b 100644 --- a/src/frontend/package.json +++ b/src/frontend/package.json @@ -27,6 +27,7 @@ "@lingui/core": "^4.10.0", "@lingui/react": "^4.10.0", "@mantine/carousel": "^7.8.0", + "@mantine/charts": "^7.10.1", "@mantine/core": "^7.10.0", "@mantine/dates": "^7.8.0", "@mantine/dropzone": "^7.8.0", diff --git a/src/frontend/src/components/charts/colors.tsx b/src/frontend/src/components/charts/colors.tsx index 6be93493bd..fc19be3427 100644 --- a/src/frontend/src/components/charts/colors.tsx +++ b/src/frontend/src/components/charts/colors.tsx @@ -1,12 +1,12 @@ export const CHART_COLORS: string[] = [ - '#ffa8a8', - '#8ce99a', - '#74c0fc', - '#ffe066', - '#63e6be', - '#ffc078', - '#d8f5a2', - '#66d9e8', - '#e599f7', - '#dee2e6' + 'blue', + 'teal', + 'lime', + 'yellow', + 'grape', + 'red', + 'orange', + 'green', + 'indigo', + 'pink' ]; diff --git a/src/frontend/src/components/charts/tooltipFormatter.tsx b/src/frontend/src/components/charts/tooltipFormatter.tsx index 73b3b97703..2e7eadc13e 100644 --- a/src/frontend/src/components/charts/tooltipFormatter.tsx +++ b/src/frontend/src/components/charts/tooltipFormatter.tsx @@ -1,9 +1,12 @@ import { formatCurrency } from '../../defaults/formatters'; -export function tooltipFormatter(label: any, currency: string) { +/* + * Render a chart label for a currency graph + */ +export function tooltipFormatter(value: any, currency?: string) { return ( - formatCurrency(label, { + formatCurrency(value, { currency: currency - })?.toString() ?? '' + })?.toString() ?? value.toString() ); } diff --git a/src/frontend/src/main.tsx b/src/frontend/src/main.tsx index 01ea516254..b4d48e77e5 100644 --- a/src/frontend/src/main.tsx +++ b/src/frontend/src/main.tsx @@ -1,4 +1,5 @@ import '@mantine/carousel/styles.css'; +import '@mantine/charts/styles.css'; import '@mantine/core/styles.css'; import '@mantine/notifications/styles.css'; import '@mantine/spotlight/styles.css'; diff --git a/src/frontend/src/pages/part/pricing/BomPricingPanel.tsx b/src/frontend/src/pages/part/pricing/BomPricingPanel.tsx index b0c9f60392..9ee05a7bf9 100644 --- a/src/frontend/src/pages/part/pricing/BomPricingPanel.tsx +++ b/src/frontend/src/pages/part/pricing/BomPricingPanel.tsx @@ -1,5 +1,7 @@ import { t } from '@lingui/macro'; +import { BarChart, DonutChart } from '@mantine/charts'; import { + Center, Group, SegmentedControl, SimpleGrid, @@ -7,18 +9,6 @@ import { Text } from '@mantine/core'; import { ReactNode, useMemo, useState } from 'react'; -import { - Bar, - BarChart, - Cell, - Legend, - Pie, - PieChart, - ResponsiveContainer, - Tooltip, - XAxis, - YAxis -} from 'recharts'; import { CHART_COLORS } from '../../../components/charts/colors'; import { tooltipFormatter } from '../../../components/charts/tooltipFormatter'; @@ -44,42 +34,30 @@ function BomPieChart({ readonly data: any[]; readonly currency: string; }) { + // Construct donut data + const maxPricing = useMemo(() => { + return data.map((entry, index) => { + return { + name: entry.name, + value: entry.total_price_max, + color: CHART_COLORS[index % CHART_COLORS.length] + '.5' + }; + }); + }, [data]); + return ( - - - - {data.map((_entry, index) => ( - - ))} - - - {data.map((_entry, index) => ( - - ))} - - tooltipFormatter(label, currency)} - /> - - +
+ tooltipFormatter(value, currency)} + /> +
); } @@ -92,32 +70,18 @@ function BomBarChart({ readonly currency: string; }) { return ( - - - - - formatCurrency(value, { - currency: currency - })?.toString() ?? '' - } - /> - tooltipFormatter(label, currency)} - /> - - - - - + tooltipFormatter(value, currency)} + /> ); } diff --git a/src/frontend/src/pages/part/pricing/PriceBreakPanel.tsx b/src/frontend/src/pages/part/pricing/PriceBreakPanel.tsx index 8a8f87d5d0..fa1da3fe07 100644 --- a/src/frontend/src/pages/part/pricing/PriceBreakPanel.tsx +++ b/src/frontend/src/pages/part/pricing/PriceBreakPanel.tsx @@ -1,18 +1,9 @@ import { t } from '@lingui/macro'; +import { BarChart } from '@mantine/charts'; import { SimpleGrid } from '@mantine/core'; import { useCallback, useMemo, useState } from 'react'; -import { - Bar, - BarChart, - Legend, - ResponsiveContainer, - Tooltip, - XAxis, - YAxis -} from 'recharts'; import { AddItemButton } from '../../../components/buttons/AddItemButton'; -import { CHART_COLORS } from '../../../components/charts/colors'; import { tooltipFormatter } from '../../../components/charts/tooltipFormatter'; import { ApiFormFieldSet } from '../../../components/forms/fields/ApiFormField'; import { formatCurrency } from '../../../defaults/formatters'; @@ -169,29 +160,14 @@ export default function PriceBreakPanel({ }} /> {table.records.length > 0 ? ( - - - - - formatCurrency(value, { - currency: currency - })?.toString() ?? '' - } - /> - - tooltipFormatter(label, currency) - } - /> - - - - + tooltipFormatter(value, currency)} + /> ) : ( )} diff --git a/src/frontend/src/pages/part/pricing/PricingOverviewPanel.tsx b/src/frontend/src/pages/part/pricing/PricingOverviewPanel.tsx index 4aa67f844b..3d3c5b571b 100644 --- a/src/frontend/src/pages/part/pricing/PricingOverviewPanel.tsx +++ b/src/frontend/src/pages/part/pricing/PricingOverviewPanel.tsx @@ -1,4 +1,5 @@ import { t } from '@lingui/macro'; +import { BarChart } from '@mantine/charts'; import { Alert, Anchor, @@ -19,17 +20,7 @@ import { } from '@tabler/icons-react'; import { DataTable } from 'mantine-datatable'; import { ReactNode, useMemo } from 'react'; -import { - Bar, - BarChart, - Legend, - ResponsiveContainer, - Tooltip, - XAxis, - YAxis -} from 'recharts'; -import { CHART_COLORS } from '../../../components/charts/colors'; import { tooltipFormatter } from '../../../components/charts/tooltipFormatter'; import { formatCurrency, renderDate } from '../../../defaults/formatters'; import { panelOptions } from '../PartPricingPanel'; @@ -192,34 +183,17 @@ export default function PricingOverviewPanel({ columns={columns} /> - - - - - formatCurrency(value, { - currency: pricing?.currency - })?.toString() ?? '' - } - /> - - tooltipFormatter(label, pricing?.currency) - } - /> - - - - - + tooltipFormatter(value, pricing?.currency)} + /> ); diff --git a/src/frontend/src/pages/part/pricing/PurchaseHistoryPanel.tsx b/src/frontend/src/pages/part/pricing/PurchaseHistoryPanel.tsx index b13495497e..8f1550b340 100644 --- a/src/frontend/src/pages/part/pricing/PurchaseHistoryPanel.tsx +++ b/src/frontend/src/pages/part/pricing/PurchaseHistoryPanel.tsx @@ -1,18 +1,8 @@ import { t } from '@lingui/macro'; +import { BarChart } from '@mantine/charts'; import { Group, SimpleGrid, Text } from '@mantine/core'; import { ReactNode, useCallback, useMemo } from 'react'; -import { - Bar, - BarChart, - Legend, - ResponsiveContainer, - Tooltip, - XAxis, - YAxis -} from 'recharts'; -import { CHART_COLORS } from '../../../components/charts/colors'; -import { tooltipFormatter } from '../../../components/charts/tooltipFormatter'; import { formatCurrency, renderDate } from '../../../defaults/formatters'; import { ApiEndpoints } from '../../../enums/ApiEndpoints'; import { useTable } from '../../../hooks/UseTable'; @@ -131,32 +121,13 @@ export default function PurchaseHistoryPanel({ }} /> {purchaseHistoryData.length > 0 ? ( - - - - - formatCurrency(value, { - currency: currency - })?.toString() ?? '' - } - /> - tooltipFormatter(label, currency)} - /> - - - - - + ) : ( )} diff --git a/src/frontend/src/pages/part/pricing/SaleHistoryPanel.tsx b/src/frontend/src/pages/part/pricing/SaleHistoryPanel.tsx index 032777fec5..a71427c24d 100644 --- a/src/frontend/src/pages/part/pricing/SaleHistoryPanel.tsx +++ b/src/frontend/src/pages/part/pricing/SaleHistoryPanel.tsx @@ -1,18 +1,8 @@ import { t } from '@lingui/macro'; +import { BarChart } from '@mantine/charts'; import { SimpleGrid } from '@mantine/core'; import { ReactNode, useMemo } from 'react'; -import { - Bar, - BarChart, - Legend, - ResponsiveContainer, - Tooltip, - XAxis, - YAxis -} from 'recharts'; -import { CHART_COLORS } from '../../../components/charts/colors'; -import { tooltipFormatter } from '../../../components/charts/tooltipFormatter'; import { formatCurrency } from '../../../defaults/formatters'; import { ApiEndpoints } from '../../../enums/ApiEndpoints'; import { useTable } from '../../../hooks/UseTable'; @@ -95,27 +85,13 @@ export default function SaleHistoryPanel({ part }: { part: any }): ReactNode { }} /> {saleHistoryData.length > 0 ? ( - - - - - formatCurrency(value, { - currency: currency - })?.toString() ?? '' - } - /> - tooltipFormatter(label, currency)} - /> - - - - + ) : ( )} diff --git a/src/frontend/src/pages/part/pricing/SupplierPricingPanel.tsx b/src/frontend/src/pages/part/pricing/SupplierPricingPanel.tsx index 0cae3cb156..e69a498d38 100644 --- a/src/frontend/src/pages/part/pricing/SupplierPricingPanel.tsx +++ b/src/frontend/src/pages/part/pricing/SupplierPricingPanel.tsx @@ -1,18 +1,9 @@ import { t } from '@lingui/macro'; +import { BarChart } from '@mantine/charts'; import { SimpleGrid } from '@mantine/core'; import { useMemo } from 'react'; -import { - Bar, - BarChart, - ResponsiveContainer, - Tooltip, - XAxis, - YAxis -} from 'recharts'; -import { CHART_COLORS } from '../../../components/charts/colors'; import { tooltipFormatter } from '../../../components/charts/tooltipFormatter'; -import { formatCurrency } from '../../../defaults/formatters'; import { ApiEndpoints } from '../../../enums/ApiEndpoints'; import { useTable } from '../../../hooks/UseTable'; import { apiUrl } from '../../../states/ApiState'; @@ -64,31 +55,19 @@ export default function SupplierPricingPanel({ part }: { part: any }) { }} /> {supplierPricingData.length > 0 ? ( - - - - - formatCurrency(value, { - currency: currency - })?.toString() ?? '' - } - /> - tooltipFormatter(label, currency)} - /> - - - - + tooltipFormatter(value, currency)} + /> ) : ( )} diff --git a/src/frontend/src/pages/part/pricing/VariantPricingPanel.tsx b/src/frontend/src/pages/part/pricing/VariantPricingPanel.tsx index 12f21ccd33..38c918b32c 100644 --- a/src/frontend/src/pages/part/pricing/VariantPricingPanel.tsx +++ b/src/frontend/src/pages/part/pricing/VariantPricingPanel.tsx @@ -1,17 +1,8 @@ import { t } from '@lingui/macro'; +import { BarChart } from '@mantine/charts'; import { SimpleGrid, Stack } from '@mantine/core'; import { ReactNode, useMemo } from 'react'; -import { - Bar, - BarChart, - Legend, - ResponsiveContainer, - Tooltip, - XAxis, - YAxis -} from 'recharts'; -import { CHART_COLORS } from '../../../components/charts/colors'; import { tooltipFormatter } from '../../../components/charts/tooltipFormatter'; import { formatCurrency } from '../../../defaults/formatters'; import { ApiEndpoints } from '../../../enums/ApiEndpoints'; @@ -97,34 +88,19 @@ export default function VariantPricingPanel({ }} /> {variantPricingData.length > 0 ? ( - - - - - formatCurrency(value, { - currency: pricing?.currency - })?.toString() ?? '' - } - /> - - tooltipFormatter(label, pricing?.currency) - } - /> - - - - - + + tooltipFormatter(value, pricing?.currency) + } + /> ) : ( )} diff --git a/src/frontend/src/tables/InvenTreeTable.tsx b/src/frontend/src/tables/InvenTreeTable.tsx index 47d26be023..c372153d40 100644 --- a/src/frontend/src/tables/InvenTreeTable.tsx +++ b/src/frontend/src/tables/InvenTreeTable.tsx @@ -580,8 +580,8 @@ export function InvenTreeTable({ )} - - + + {tableProps.enableDownload && ( ({ ))} - + {tableProps.enableSearch && ( diff --git a/src/frontend/tests/pages/pui_part.spec.ts b/src/frontend/tests/pages/pui_part.spec.ts index e9aee7ddaa..d411738184 100644 --- a/src/frontend/tests/pages/pui_part.spec.ts +++ b/src/frontend/tests/pages/pui_part.spec.ts @@ -29,25 +29,25 @@ test('PUI - Pages - Part - Pricing (Nothing, BOM)', async ({ page }) => { await page.getByRole('button', { name: 'BOM Pricing' }).isEnabled(); // Overview Graph - let graph = page.locator('#pricing-overview-chart'); + let graph = page.getByLabel('pricing-overview-chart'); await graph.waitFor(); await graph.getByText('$60').waitFor(); - await graph.getByText('BOM Pricing').waitFor(); - await graph.getByText('Overall Pricing').waitFor(); - await graph.locator('path').nth(1).hover(); - await page.getByText('min_value : $50').waitFor(); + await graph.locator('tspan').filter({ hasText: 'BOM Pricing' }).waitFor(); + await graph.locator('tspan').filter({ hasText: 'Overall Pricing' }).waitFor(); // BOM Pricing await page.getByRole('button', { name: 'BOM Pricing' }).click(); await page.getByText('Bar Chart').click(); - await page.getByText('total_price_min').waitFor(); await page.getByText('Pie Chart').click(); await page.getByRole('button', { name: 'Quantity Not sorted' }).waitFor(); await page.getByRole('button', { name: 'Unit Price Not sorted' }).waitFor(); // BOM Pricing - linkjumping - await page.getByText('Wood Screw').waitFor(); - await page.getByText('Wood Screw').click(); + await page + .getByLabel('BOM Pricing') + .getByRole('table') + .getByText('Wood Screw') + .click(); await page.waitForURL('**/part/98/pricing'); }); diff --git a/src/frontend/yarn.lock b/src/frontend/yarn.lock index 4cf923c8ff..4188cdbfce 100644 --- a/src/frontend/yarn.lock +++ b/src/frontend/yarn.lock @@ -1809,6 +1809,11 @@ resolved "https://registry.yarnpkg.com/@mantine/carousel/-/carousel-7.10.0.tgz#ee750504814ec4eff7523e17a0052dc86bec45c8" integrity sha512-+fP/hyHpXoK5nHR5mgEjPhPqjiurwMDP+aLseaE/mvmoBZEFF3vOPAqYOekNDrdyaqvtHkM82T9mnR4M3BAK0w== +"@mantine/charts@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@mantine/charts/-/charts-7.10.1.tgz#c1b92ccac16d05b87cc103adcd79f0e0c2f87c62" + integrity sha512-fMy2EmgegdHVkrtnRO8ync8kqOJoXqixxc1JDmhn9tks4lSvKAKB9ui8OyaTUOWzls/Cs0VfyW51sB/HKe5faw== + "@mantine/core@^7.10.0": version "7.10.0" resolved "https://registry.yarnpkg.com/@mantine/core/-/core-7.10.0.tgz#bfaafc92cf2346e5a6cbb49289f577ce3f7c05f7" From 66b2976d330438df7dec826b9563b339209212ca Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 10 Jun 2024 15:41:36 +1000 Subject: [PATCH 07/59] New Crowdin updates (#7424) * updated translation base * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .../InvenTree/locale/bg/LC_MESSAGES/django.po | 785 +++--- .../InvenTree/locale/cs/LC_MESSAGES/django.po | 789 ++++--- .../InvenTree/locale/da/LC_MESSAGES/django.po | 787 +++--- .../InvenTree/locale/de/LC_MESSAGES/django.po | 793 ++++--- .../InvenTree/locale/el/LC_MESSAGES/django.po | 787 +++--- .../InvenTree/locale/en/LC_MESSAGES/django.po | 1984 ++++++++-------- .../InvenTree/locale/es/LC_MESSAGES/django.po | 785 +++--- .../locale/es_MX/LC_MESSAGES/django.po | 1984 ++++++++-------- .../InvenTree/locale/fa/LC_MESSAGES/django.po | 785 +++--- .../InvenTree/locale/fi/LC_MESSAGES/django.po | 791 ++++--- .../InvenTree/locale/fr/LC_MESSAGES/django.po | 791 ++++--- .../InvenTree/locale/he/LC_MESSAGES/django.po | 785 +++--- .../InvenTree/locale/hi/LC_MESSAGES/django.po | 785 +++--- .../InvenTree/locale/hu/LC_MESSAGES/django.po | 796 ++++--- .../InvenTree/locale/id/LC_MESSAGES/django.po | 787 +++--- .../InvenTree/locale/it/LC_MESSAGES/django.po | 793 ++++--- .../InvenTree/locale/ja/LC_MESSAGES/django.po | 789 ++++--- .../InvenTree/locale/ko/LC_MESSAGES/django.po | 785 +++--- .../InvenTree/locale/lv/LC_MESSAGES/django.po | 785 +++--- .../InvenTree/locale/nl/LC_MESSAGES/django.po | 791 ++++--- .../InvenTree/locale/no/LC_MESSAGES/django.po | 793 ++++--- .../InvenTree/locale/pl/LC_MESSAGES/django.po | 793 ++++--- .../InvenTree/locale/pt/LC_MESSAGES/django.po | 785 +++--- .../InvenTree/locale/ru/LC_MESSAGES/django.po | 791 ++++--- .../InvenTree/locale/sk/LC_MESSAGES/django.po | 785 +++--- .../InvenTree/locale/sl/LC_MESSAGES/django.po | 787 +++--- .../InvenTree/locale/sr/LC_MESSAGES/django.po | 787 +++--- .../InvenTree/locale/sv/LC_MESSAGES/django.po | 789 ++++--- .../InvenTree/locale/th/LC_MESSAGES/django.po | 785 +++--- .../InvenTree/locale/tr/LC_MESSAGES/django.po | 789 ++++--- .../InvenTree/locale/uk/LC_MESSAGES/django.po | 785 +++--- .../InvenTree/locale/vi/LC_MESSAGES/django.po | 793 ++++--- .../InvenTree/locale/zh/LC_MESSAGES/django.po | 785 +++--- .../locale/zh_Hans/LC_MESSAGES/django.po | 2102 +++++++++-------- src/frontend/src/locales/bg/messages.po | 652 ++--- src/frontend/src/locales/cs/messages.po | 652 ++--- src/frontend/src/locales/da/messages.po | 652 ++--- src/frontend/src/locales/de/messages.po | 656 ++--- src/frontend/src/locales/el/messages.po | 652 ++--- src/frontend/src/locales/en/messages.po | 713 +++--- src/frontend/src/locales/es-mx/messages.po | 709 +++--- src/frontend/src/locales/es/messages.po | 646 ++--- src/frontend/src/locales/fa/messages.po | 652 ++--- src/frontend/src/locales/fi/messages.po | 652 ++--- src/frontend/src/locales/fr/messages.po | 652 ++--- src/frontend/src/locales/he/messages.po | 652 ++--- src/frontend/src/locales/hi/messages.po | 652 ++--- src/frontend/src/locales/hu/messages.po | 656 ++--- src/frontend/src/locales/id/messages.po | 652 ++--- src/frontend/src/locales/it/messages.po | 652 ++--- src/frontend/src/locales/ja/messages.po | 652 ++--- src/frontend/src/locales/ko/messages.po | 652 ++--- src/frontend/src/locales/lv/messages.po | 652 ++--- src/frontend/src/locales/nl/messages.po | 652 ++--- src/frontend/src/locales/no/messages.po | 652 ++--- src/frontend/src/locales/pl/messages.po | 652 ++--- .../src/locales/pseudo-LOCALE/messages.po | 709 +++--- src/frontend/src/locales/pt-br/messages.po | 709 +++--- src/frontend/src/locales/pt/messages.po | 656 ++--- src/frontend/src/locales/ru/messages.po | 652 ++--- src/frontend/src/locales/sk/messages.po | 652 ++--- src/frontend/src/locales/sl/messages.po | 652 ++--- src/frontend/src/locales/sr/messages.po | 652 ++--- src/frontend/src/locales/sv/messages.po | 652 ++--- src/frontend/src/locales/th/messages.po | 652 ++--- src/frontend/src/locales/tr/messages.po | 652 ++--- src/frontend/src/locales/uk/messages.po | 652 ++--- src/frontend/src/locales/vi/messages.po | 652 ++--- src/frontend/src/locales/zh-hans/messages.po | 709 +++--- src/frontend/src/locales/zh-hant/messages.po | 709 +++--- src/frontend/src/locales/zh/messages.po | 652 ++--- 71 files changed, 28215 insertions(+), 26767 deletions(-) diff --git a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po index 20caf7454e..2832af3253 100644 --- a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" @@ -64,13 +64,13 @@ msgstr "Въведи дата" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" @@ -514,7 +514,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "" msgid "parent" msgstr "родител" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" @@ -589,7 +589,7 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "" @@ -686,7 +686,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "" @@ -750,14 +750,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "" #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1112,7 +1112,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "" @@ -4051,13 +4051,13 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "" @@ -4441,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5787,14 +5787,14 @@ msgstr "" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" @@ -5835,22 +5835,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -5887,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "" @@ -5997,7 +5997,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Цялостна наличност" @@ -6006,7 +6006,7 @@ msgstr "Цялостна наличност" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6021,7 +6021,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "" @@ -6214,7 +6214,7 @@ msgstr "" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" @@ -6375,7 +6375,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,288 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -6721,322 +6725,322 @@ msgstr "" msgid "Subcategories" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7187,7 +7191,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7380,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "" @@ -7448,7 +7452,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7545,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Наличност" @@ -7585,7 +7589,7 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7666,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "Няма наличност" @@ -8633,7 +8637,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "" @@ -8706,43 +8710,47 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 +msgid "Supplier Part SKU" +msgstr "" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9066,55 @@ msgstr "" msgid "Entry notes" msgstr "" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2404 +msgid "Invalid value for this test" +msgstr "" + +#: stock/models.py:2428 msgid "Test result" msgstr "" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10317,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10346,12 +10358,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10805,7 +10817,7 @@ msgid "Are you sure you want to sign out?" msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "" @@ -10919,15 +10931,19 @@ msgstr "" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "" -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +msgid "Secret: " +msgstr "" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "" @@ -11006,7 +11022,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "" @@ -11395,7 +11411,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11738,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11765,8 +11781,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11952,7 +11968,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11969,34 +11985,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12247,7 +12263,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12328,347 +12344,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14386,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po index 6b2d54857b..86dd4bb5a1 100644 --- a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-06 13:52\n" "Last-Translator: \n" "Language-Team: Czech\n" @@ -64,13 +64,13 @@ msgstr "Zadejte datum" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "Chybějící soubor" msgid "Missing external link" msgstr "Chybějící externí odkaz" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "Vyberte soubor k přiložení" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "Neplatný výběr" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "Neplatný výběr" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Název" @@ -514,7 +514,7 @@ msgstr "Název" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "Název" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "Popis (volitelně)" msgid "parent" msgstr "nadřazený" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Cesta" @@ -589,7 +589,7 @@ msgstr "Chyba serveru" msgid "An error has been logged by the server." msgstr "Server zaznamenal chybu." -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "Musí být platné číslo" @@ -686,7 +686,7 @@ msgstr "URL souboru vzdáleného obrázku" msgid "Downloading images from remote URL is not enabled" msgstr "Stahování obrázků ze vzdálené URL není povoleno" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "Kontrola procesů na pozadí se nezdařila" @@ -750,14 +750,14 @@ msgstr "O InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Sestavení musí být zrušeno před odstraněním" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Spotřební materiál" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "Přiděleno" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "Referenční číslo objednávky" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "Výstup sestavení neodpovídá příkazu sestavení" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Množství musí být vyšší než nula" @@ -1112,7 +1112,7 @@ msgstr "Vytvořit objekt" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "Vytvořit objekt" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "Zadejte sériová čísla pro sestavení výstupů" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "Přiřazení volitelných BOM položek k objednávce sestavy" msgid "Failed to start auto-allocation task" msgstr "Nepodařilo se spustit úlohu automatického přidělování" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "BOM Položka" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "Přidělené zásoby" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "Na objednávku" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "Ve výrobě" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "Zásoby nebyly plně přiřazeny k této objednávce na sestavu" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "Zvolte díl" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "Vyberte výrobce" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "Název parametru" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "Hodnota" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "Hodnota parametru" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "Jednotky" @@ -4051,13 +4051,13 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "Dodavatel" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "" @@ -4441,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "ID dílu" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Název dílu" @@ -5787,14 +5787,14 @@ msgstr "Popis dílu" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" @@ -5835,22 +5835,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Díly" @@ -5887,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "IPN dílu" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "" @@ -5997,7 +5997,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6006,7 +6006,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Kategorie dílu" @@ -6021,7 +6021,7 @@ msgstr "Kategorie dílů" msgid "Default location for parts in this category" msgstr "Výchozí umístění dílů v této kategorii" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "Název dílu" @@ -6214,7 +6214,7 @@ msgstr "" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" @@ -6375,7 +6375,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,288 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "ID dílu nebo název dílu" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "Jedinečná hodnota ID dílu" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "Hodnota IPN dílu" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "Vyberte nadřazený díl" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -6721,322 +6725,322 @@ msgstr "" msgid "Subcategories" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "Aktualizovat díly" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "Aktualizovat cenu pro díl" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7187,7 +7191,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7380,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "" @@ -7448,7 +7452,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7545,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7585,7 +7589,7 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7666,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "" @@ -8633,7 +8637,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "" @@ -8706,43 +8710,49 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 +#, fuzzy +#| msgid "Supplier Parts" +msgid "Supplier Part SKU" +msgstr "Dodavatel dílů" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9068,57 @@ msgstr "" msgid "Entry notes" msgstr "" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2404 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid value for this test" +msgstr "Neplatná hodnota překročení" + +#: stock/models.py:2428 msgid "Test result" msgstr "" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10321,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "Odstranit" @@ -10346,12 +10362,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10805,7 +10821,7 @@ msgid "Are you sure you want to sign out?" msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "" @@ -10919,15 +10935,19 @@ msgstr "" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "" -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +msgid "Secret: " +msgstr "" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "" @@ -11006,7 +11026,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "" @@ -11395,7 +11415,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11742,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11765,8 +11785,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11952,7 +11972,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11969,34 +11989,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12247,7 +12267,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12328,347 +12348,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14390,3 @@ msgstr "Oprávnění k úpravě položek" #: users/models.py:413 msgid "Permission to delete items" msgstr "Oprávnění k odstranění položek" - diff --git a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po index 132253163d..287c229d8b 100644 --- a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Danish\n" @@ -64,13 +64,13 @@ msgstr "Angiv dato" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "Manglende fil" msgid "Missing external link" msgstr "Manglende eksternt link" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "Vælg fil, der skal vedhæftes" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "Ugyldigt valg" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "Ugyldigt valg" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Navn" @@ -514,7 +514,7 @@ msgstr "Navn" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "Navn" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "Beskrivelse (valgfri)" msgid "parent" msgstr "overordnet" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Sti" @@ -589,7 +589,7 @@ msgstr "Serverfejl" msgid "An error has been logged by the server." msgstr "En fejl blev logget af serveren." -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "Skal være et gyldigt tal" @@ -686,7 +686,7 @@ msgstr "URL til ekstern billedfil" msgid "Downloading images from remote URL is not enabled" msgstr "Download af billeder fra ekstern URL er ikke aktiveret" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "Kontrol af baggrundstjeneste mislykkedes" @@ -750,14 +750,14 @@ msgstr "Om InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Produktion skal anulleres, før den kan slettes" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Forbrugsvare" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "Allokeret" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "Produktionsordre reference" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1112,7 +1112,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "" @@ -4051,13 +4051,13 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "" @@ -4441,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5787,14 +5787,14 @@ msgstr "" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" @@ -5835,22 +5835,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -5887,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "" @@ -5997,7 +5997,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6006,7 +6006,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6021,7 +6021,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "" @@ -6214,7 +6214,7 @@ msgstr "" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" @@ -6375,7 +6375,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,288 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -6721,322 +6725,322 @@ msgstr "" msgid "Subcategories" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7187,7 +7191,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7380,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "" @@ -7448,7 +7452,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7545,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7585,7 +7589,7 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7666,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "" @@ -8633,7 +8637,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "" @@ -8706,43 +8710,47 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 +msgid "Supplier Part SKU" +msgstr "" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9066,57 @@ msgstr "" msgid "Entry notes" msgstr "" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2404 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid value for this test" +msgstr "Ugyldig værdi for overskud" + +#: stock/models.py:2428 msgid "Test result" msgstr "" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10319,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10346,12 +10360,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10805,7 +10819,7 @@ msgid "Are you sure you want to sign out?" msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "" @@ -10919,15 +10933,19 @@ msgstr "" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "" -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +msgid "Secret: " +msgstr "" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "" @@ -11006,7 +11024,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "" @@ -11395,7 +11413,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11740,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11765,8 +11783,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11952,7 +11970,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11969,34 +11987,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12247,7 +12265,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12328,347 +12346,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14388,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po index 97528b368b..1b60bc1bb2 100644 --- a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: German\n" @@ -64,13 +64,13 @@ msgstr "Datum eingeben" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "Fehlende Datei" msgid "Missing external link" msgstr "Fehlender externer Link" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "Datei zum Anhängen auswählen" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "Ungültige Auswahl" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "Ungültige Auswahl" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Name" @@ -514,7 +514,7 @@ msgstr "Name" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "Name" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "Beschreibung (optional)" msgid "parent" msgstr "Eltern" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Pfad" @@ -589,7 +589,7 @@ msgstr "Serverfehler" msgid "An error has been logged by the server." msgstr "Ein Fehler wurde vom Server protokolliert." -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" @@ -686,7 +686,7 @@ msgstr "URL der Remote-Bilddatei" msgid "Downloading images from remote URL is not enabled" msgstr "Das Herunterladen von Bildern von Remote-URLs ist nicht aktiviert" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "Hintergrund-Prozess-Kontrolle fehlgeschlagen" @@ -750,14 +750,14 @@ msgstr "Über InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Verbrauchsmaterial" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "Zugeordnet" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "Bauauftragsreferenz" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" @@ -1112,7 +1112,7 @@ msgstr "Objekt bauen" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "Objekt bauen" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "Seriennummer für dieses Endprodukt eingeben" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "Optionale Stücklisten-Positionen dem Bauauftrag hinzufügen" msgid "Failed to start auto-allocation task" msgstr "Fehler beim Starten der automatischen Zuweisung" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "Stücklisten-Position" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "Zugewiesener Bestand" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "Bestellt" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "In Produktion" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "Bestand wurde Bauauftrag noch nicht vollständig zugewiesen" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "Kategorie-Parametervorlage kopieren" msgid "Copy category parameter templates when creating a part" msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "Preisstaffelungs Anzahl" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "Teil auswählen" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "Hersteller auswählen" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "Parametername" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "Wert" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "Parameterwert" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "Einheiten" @@ -4051,13 +4051,13 @@ msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "Zulieferer" msgid "Select supplier" msgstr "Zulieferer auswählen" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "Lagerbestandseinheit (SKU) des Zulieferers" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "Teile-Verpackungen" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "Auf Lager" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "Inaktiv" @@ -4441,7 +4441,7 @@ msgstr "Keine Herstellerdaten verfügbar" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "Neuer Parameter" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "Parameter hinzufügen" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "Keine Lieferanteninformationen verfügbar" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "Verfügbarkeit der Teile aktualisieren" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "Verfügbarkeit der Teile aktualisieren" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "Bestellung ausstehend" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "Zuliefererteil" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "Kundenreferenz" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "Stückpreis für {part} auf {price} aktualisiert" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} Stückpreis auf {price} und Menge auf {qty} aktualisiert" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "Teil-ID" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Name des Teils" @@ -5787,14 +5787,14 @@ msgstr "Beschreibung des Teils" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "IPN (Interne Produktnummer)" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Version" @@ -5835,22 +5835,22 @@ msgstr "Minimaler Bestand" msgid "Used In" msgstr "Benutzt in" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "Im Bau" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "Minimale Kosten" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "Maximale Kosten" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "Eltern ID" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "Pfad zur Kategorie" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Teile" @@ -5887,17 +5887,17 @@ msgstr "Stücklisten-Position ID" msgid "Parent IPN" msgstr "Übergeordnete IPN" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "Teil IPN" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Niedrigster Preis" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "Mehrstufig" msgid "Include sub-categories in filtered results" msgstr "Unterkategorien in gefilterte Ergebnisse einbeziehen" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "Übergeordnetes" @@ -5979,12 +5979,12 @@ msgstr "Diese Option muss ausgewählt werden" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "Kategorie" @@ -5997,7 +5997,7 @@ msgstr "Verwendet" msgid "Default Location" msgstr "Standard-Lagerort" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Gesamtbestand" @@ -6006,7 +6006,7 @@ msgstr "Gesamtbestand" msgid "Input quantity for price calculation" msgstr "Menge für die Preisberechnung" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Teil-Kategorie" @@ -6021,7 +6021,7 @@ msgstr "Teil-Kategorien" msgid "Default location for parts in this category" msgstr "Standard-Lagerort für Teile dieser Kategorie" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "Teil mit diesem Namen, IPN und Revision existiert bereits." msgid "Parts cannot be assigned to structural part categories!" msgstr "Strukturellen Teilekategorien können keine Teile zugewiesen werden!" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "Name des Teils" @@ -6214,7 +6214,7 @@ msgstr "Verantwortlicher Besitzer für dieses Teil" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "Letzte Inventur" @@ -6375,7 +6375,7 @@ msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,290 @@ msgstr "Benutzer, der diesen Inventurbericht angefordert hat" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Ungültiger Vorlagenname - es muss mindestens ein alphanumerisches Zeichen enthalten sein" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "Auswahl muss einzigartig sein" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "Test-Vorlagen können nur für verfolgbare Teile angelegt werden" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "Testvorlage mit demselben Schlüssel existiert bereits für Teil" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "Test-Name" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "Namen für diesen Test eingeben" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "Testschlüssel" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "Vereinfachter Schlüssel zum Test" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "Test-Beschreibung" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Aktiviert" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "Ist dieser Test aktiviert?" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Benötigt" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "Erfordert Wert" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "Muss für diesen Test ein Wert für das Test-Ergebnis eingetragen werden?" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "Muss für diesen Test ein Anhang für das Test-Ergebnis hinzugefügt werden?" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "Auswahlmöglichkeiten" + +#: part/models.py:3575 +#, fuzzy +#| msgid "Valid choices for this parameter (comma-separated)" +msgid "Valid choices for this test (comma-separated)" +msgstr "Gültige Optionen für diesen Parameter (durch Kommas getrennt)" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "Checkbox-Parameter können keine Einheiten haben" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "Checkbox-Parameter können keine Auswahl haben" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "Auswahl muss einzigartig sein" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "Physikalische Einheiten für diesen Parameter" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "Parameter-Beschreibung" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "Checkbox" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "Ist dieser Parameter eine Checkbox?" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "Auswahlmöglichkeiten" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "Gültige Optionen für diesen Parameter (durch Kommas getrennt)" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "Ungültige Auswahl für Parameterwert" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "Ausgangsteil" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "Wert" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Standard-Wert" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "Teilnummer oder Teilname" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "Eindeutige Teil-ID" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "IPN-Wert des Teils" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "Stufe" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "Stücklistenebene" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Diese Stücklisten-Position ist ein Verbrauchsartikel (sie wird nicht in Bauaufträgen verfolgt)" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Überschuss" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "überprüft" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "Diese Stücklistenposition wurde validiert" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "Wird vererbt" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Diese Stücklisten-Position wird in die Stücklisten von Teil-Varianten vererbt" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Varianten zulassen" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Bestand von Varianten kann für diese Stücklisten-Position verwendet werden" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "Stücklisten Ersatzteile" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "Übergeordnete Stücklisten Position" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "Ersatzteil" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "Teil-Beziehung kann nicht zwischen einem Teil und sich selbst erstellt werden" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "Doppelte Beziehung existiert bereits" @@ -6721,322 +6727,322 @@ msgstr "Doppelte Beziehung existiert bereits" msgid "Subcategories" msgstr "Unter-Kategorien" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "Ergebnisse" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "Anzahl der Ergebnisse, die in dieser Vorlage aufgezeichnet wurden" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "Kaufwährung dieses Lagerartikels" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "Anzahl der Teile, die diese Vorlage verwenden" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "Keine Teile ausgewählt" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "Kategorie auswählen" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "Originalteil" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "Originalteil zum Duplizieren auswählen" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "Bild kopieren" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "Bild vom Originalteil kopieren" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Stückliste kopieren" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "Stückliste vom Originalteil kopieren" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "Parameter kopieren" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "Parameterdaten vom Originalteil kopieren" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "Anmerkungen kopieren" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "Notizen aus Originalteil kopieren" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "Start-Bestandsmenge" -#: part/serializers.py:491 +#: part/serializers.py:492 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:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "Initialer Lagerort" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "Lagerstandort für dieses Teil angeben" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "Lieferant auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "Hersteller auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "Hersteller-Teilenummer" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "Ausgewählte Firma ist kein gültiger Lieferant" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "Ausgewählte Firma ist kein gültiger Hersteller" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "Herstellerteil mit dieser MPN existiert bereits" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "Lieferantenteil mit dieser SKU existiert bereits" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "Externes Lager" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "Nicht zugewiesenes Lager" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "Alternatives Lager" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "Teil duplizieren" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "Initiale Daten von anderem Teil kopieren" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Initialer Lagerbestand" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "Erstelle Teil mit Ausgangsbestand" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "Lieferanteninformationen" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "Lieferanteninformationen zu diesem Teil hinzufügen" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "Kategorieparameter kopieren" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "Parametervorlagen aus der ausgewählten Teilkategorie kopieren" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "Vorhandenes Bild" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "Dateiname eines vorhandenen Teilbildes" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "Bilddatei existiert nicht" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Inventurbericht auf ein bestimmtes Teil und alle Variantenteile beschränken" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Inventurbericht auf eine bestimmte Teilekategorie und alle untergeordneten Kategorien beschränken" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Inventurbericht auf einen bestimmten Lagerort und alle untergeordneten Lagerorte beschränken" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "Externen Bestand ausschließen" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "Lagerartikel an externen Orten ausschließen" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "Bericht generieren" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "Erstelle Berichtsdatei mit berechneten Inventurdaten" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "Teile aktualisieren" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "Angegebene Teile mit berechneten Inventurdaten aktualisieren" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "Inventur-Funktionalität ist nicht aktiviert" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "Berechneten Wert für Mindestpreis überschreiben" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "Mindestpreis Währung" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "Berechneten Wert für maximalen Preis überschreiben" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "Maximalpreis Währung" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "Aktualisieren" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "Preis für dieses Teil aktualisieren" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, 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:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "Mindestpreis darf nicht größer als der Maximalpreis sein" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "Der Maximalpreis darf nicht kleiner als der Mindestpreis sein" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "Teil auswählen, von dem Stückliste kopiert wird" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "Bestehende Daten entfernen" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "Vererbtes einschließen" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "Stücklisten-Positionen einbeziehen, die von Vorlage-Teilen geerbt werden" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "Ungültige Zeilen überspringen" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "Aktiviere diese Option, um ungültige Zeilen zu überspringen" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "Ersatzteile kopieren" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "Bestehende Stückliste löschen" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "Bestehende Stücklisten-Positionen vor dem Importieren entfernen" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "Keine Teilspalte angegeben" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "Mehrere übereinstimmende Teile gefunden" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "Keine passenden Teile gefunden" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "Teil ist nicht als Komponente angelegt" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "Menge nicht angegeben" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "Ungültige Menge" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "Mindestens eine Stückliste-Position ist erforderlich" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "Gesamtstückzahl" @@ -7187,7 +7193,7 @@ msgid "Add stocktake information" msgstr "Inventurinformationen hinzufügen" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7382,7 @@ msgstr "Bestand zählen" msgid "Transfer part stock" msgstr "Teilbestand verschieben" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "Teile Aktionen" @@ -7448,7 +7454,7 @@ msgid "Minimum stock level" msgstr "Minimaler Bestand" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7547,8 @@ msgstr "Varianten" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Bestand" @@ -7585,7 +7591,7 @@ msgstr "Artikelpreise überschreiben" msgid "Edit" msgstr "Bearbeiten" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7668,8 @@ msgstr "Preise aktualisieren" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "Kein Bestand" @@ -8633,7 +8639,7 @@ msgstr "Testergebnisse" msgid "Test" msgstr "Test" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "Ergebnis" @@ -8706,43 +8712,49 @@ msgid "Supplier Part ID" msgstr "Zuliefererteil-ID" #: stock/admin.py:185 +#, fuzzy +#| msgid "Supplier Part" +msgid "Supplier Part SKU" +msgstr "Zuliefererteil" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "Zulieferer ID" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "Lieferant" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "Kunden ID" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "verbaut in" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "Bauauftrag-ID" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "Auftrags-ID" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "Bestellungs-ID" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "Überprüfung erforderlich" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "Löschen wenn leer" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9070,57 @@ msgstr "Lagerartikel kann nicht bewegt werden, da kein Bestand vorhanden ist" msgid "Entry notes" msgstr "Eintrags-Notizen" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "Wert muss für diesen Test angegeben werden" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "Anhang muss für diesen Test hochgeladen werden" -#: stock/models.py:2423 +#: stock/models.py:2404 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid value for this test" +msgstr "Ungültiger Wert für Ausschuss" + +#: stock/models.py:2428 msgid "Test result" msgstr "Testergebnis" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "Test Ausgabe Wert" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "Test Ergebnis Anhang" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "Test Notizen" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "Teststation" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "Der Bezeichner der Teststation, in der der Test durchgeführt wurde" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "Gestartet" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "Der Zeitstempel des Teststarts" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "Fertiggestellt" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "Der Zeitstempel der Test-Beendigung" @@ -10305,7 +10323,7 @@ msgstr "Bewerten" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "Löschen" @@ -10346,12 +10364,12 @@ msgid "No category parameter templates found" msgstr "Keine Kategorieparameter Vorlage gefunden" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "Vorlage bearbeiten" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "Vorlage löschen" @@ -10805,7 +10823,7 @@ msgid "Are you sure you want to sign out?" msgstr "Möchten Sie sich wirklich abmelden?" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "Zurück zur Seite" @@ -10919,15 +10937,21 @@ msgstr "Schritt 1" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "Scannen Sie den QR-Code unten mit einem Token-Generator Ihrer Wahl (z.B. Google Authenticator)." -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +#, fuzzy +#| msgid "Secret" +msgid "Secret: " +msgstr "Geheimnis" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "Schritt 2" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "Geben Sie das von der App generierte Token ein:" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "Überprüfen" @@ -11006,7 +11030,7 @@ msgid "Click on the following link to view this part" msgstr "Klicken Sie auf den folgenden Link, um diesen Teil anzuzeigen" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "Mindestmenge" @@ -11395,7 +11419,7 @@ msgid "Includes variant and substitute stock" msgstr "Alternatives Lager und Ersatzteillager einschließen" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "Alternatives Lager einschließen" @@ -11722,7 +11746,7 @@ msgstr "Keine Bauaufträge zur Suchanfrage" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "Auswählen" @@ -11765,8 +11789,8 @@ msgstr "Bauauftragspositionen" msgid "No build lines found" msgstr "Keine Bauauftragspositionen gefunden" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "Nachverfolgbares Teil" @@ -11952,7 +11976,7 @@ msgid "Delete Parameters" msgstr "Parameter löschen" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "Teile bestellen" @@ -11969,34 +11993,34 @@ msgid "No manufacturer parts found" msgstr "Keine Herstellerteile gefunden" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "Vorlagenteil" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "Baugruppe" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "Keine Parameter gefunden" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "Parameter bearbeiten" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "Parameter löschen" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "Parameter bearbeiten" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "Parameter löschen" @@ -12247,7 +12271,7 @@ msgstr "Keine Nachrichten gefunden" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "ID" @@ -12328,347 +12352,347 @@ msgstr "Duplizierungsoptionen für Teile" msgid "Add Part Category" msgstr "Teil-Kategorie hinzufügen" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "Übergeordnete Teilkategorie" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "Icon (optional) - alle verfügbaren Icons einsehbar auf" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "Teil-Kategorie hinzufügen" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "Neue Kategorie nach dieser Kategorie erstellen" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "Artikelkategorie erstellt" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "Teilekategorie bearbeiten" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "Möchten Sie diese Artikel-Kategorie wirklich löschen?" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "In übergeordnete Kategorie verschieben" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "Teil-Kategorie löschen" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "Aktion für Teile in dieser Kategorie" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "Aktion für Unterkategorien" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "Teil erstellen" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "Weiteres Teil nach diesem erstellen" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "Teil erfolgreich angelegt" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "Teil bearbeiten" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "Teil bearbeitet" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "Teil-Variante anlegen" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "Aktives Teil" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "Teil kann nicht gelöscht werden, da es derzeit aktiv ist" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "Das Löschen dieses Teils kann nicht rückgängig gemacht werden" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "Alle Lagerartikel für dieses Teil werden gelöscht" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "Dieses Teil wird von allen Stücklisten entfernt" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "Alle Hersteller- und Lieferanteninformationen für dieses Teil werden gelöscht" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "Teil löschen" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "Du hast Benachrichtigungen zu diesem Artikel abonniert" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "Du hast Benachrichtigungen zu diesem Artikel abonniert" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "Benachrichtigungen zu diesem Artikel abonnieren" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "Du erhältst keine Benachrichtigungen zu diesem Artikel mehr" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "Die Stückliste zu validieren markiert jede Position als gültig" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "Stückliste prüfen" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "Überprüfte Stückliste" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "Stückliste kopieren" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "Bestand niedrig" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "Kein Lagerbestand verfügbar" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "Bedarf" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "Einheit" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "Virtuelles Teil" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "Abonniertes Teil" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "Verkäufliches Teil" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "Erstellung eines neuen Inventurberichts planen." -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "Nach Fertigstellung steht der Inventurbericht zum Download zur Verfügung." -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "Inventurbericht erstellen" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "Inventurbericht geplant" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "Keine Inventurinformationen verfügbar" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "Inventureintrag bearbeiten" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "Inventureintrag löschen" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "Keine Varianten gefunden" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "Keine Teileparametervorlagen gefunden" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "Teileparametervorlage bearbeiten" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "Alle Parameter mit Verweis auf diese Vorlage werden ebenfalls gelöscht" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "Teileparametervorlage löschen" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "Keine Bestellungen gefunden" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "Diese Position ist überfällig" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "Position empfangen" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "Teilebeziehung löschen" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "Teilebeziehung löschen" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "Keine Teile gefunden" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "Wähle die Kategorie für die ausgewählten Teile" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "Teilekategorie auswählen" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "Kategorie wählen" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "Teil" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "Teile" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "Keine Kategorien" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "Als Liste anzeigen" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "Als Raster anzeigen" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "Keine Unterkategorien gefunden" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "Als Baum anzeigen" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "Unterkategorien laden" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "Abonnierte Kategorie" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "Keine passenden Testvorlagen gefunden" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "Ergebnisse" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "Testergebnis bearbeiten" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "Testergebnis löschen" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "Dieser Test ist für ein übergeordnetes Teil definiert" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "Vorlage für Testergebnis bearbeiten" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "Vorlage für Testergebnis löschen" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "Kein Datum angegeben" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "Das angegebene Datum liegt in der Vergangenheit" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "Spekulativ" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "Keine Zeitplanung für dieses Teil vorhanden" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "Fehler beim Abrufen der Zeitplanungsinformationen für dieses Teil" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "Geplante Lagermengen" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "Maximale Menge" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "Minimaler Lagerbestand" @@ -14370,4 +14394,3 @@ msgstr "Berechtigungen Einträge zu ändern" #: users/models.py:413 msgid "Permission to delete items" msgstr "Berechtigung Einträge zu löschen" - diff --git a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po index 39abebd773..7cb2e3031d 100644 --- a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Greek\n" @@ -64,13 +64,13 @@ msgstr "Εισάγετε ημερομηνία" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "Το αρχείο λείπει" msgid "Missing external link" msgstr "Λείπει ο εξωτερικός σύνδεσμος" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "Επιλέξτε αρχείο για επισύναψη" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "Μη έγκυρη επιλογή" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "Μη έγκυρη επιλογή" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Όνομα" @@ -514,7 +514,7 @@ msgstr "Όνομα" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "Όνομα" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "Περιγραφή (προαιρετική)" msgid "parent" msgstr "γονέας" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Μονοπάτι" @@ -589,7 +589,7 @@ msgstr "Σφάλμα διακομιστή" msgid "An error has been logged by the server." msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή." -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "Πρέπει να είναι αριθμός" @@ -686,7 +686,7 @@ msgstr "Διεύθυνση URL του αρχείου απομακρυσμένη msgid "Downloading images from remote URL is not enabled" msgstr "Η λήψη εικόνων από απομακρυσμένο URL δεν είναι ενεργοποιημένη" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "Ο έλεγχος εργασίας στο παρασκήνιο απέτυχε" @@ -750,14 +750,14 @@ msgstr "Σχετικά με το InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγραφεί" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Αναλώσιμο" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "Κατανεμημένο" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "Αναφορά Παραγγελίας Κατασκευής" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "Η έξοδος κατασκευής δεν ταιριάζει με τη #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" @@ -1112,7 +1112,7 @@ msgstr "Αντικείμενο κατασκευής" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "Αντικείμενο κατασκευής" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "Εισάγετε ποσότητα για την έξοδο κατασκ #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "Το Απόθεμα δεν έχει κατανεμηθεί πλήρως #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "" @@ -4051,13 +4051,13 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "" @@ -4441,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5787,14 +5787,14 @@ msgstr "" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" @@ -5835,22 +5835,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -5887,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "" @@ -5997,7 +5997,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6006,7 +6006,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6021,7 +6021,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "" @@ -6214,7 +6214,7 @@ msgstr "" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" @@ -6375,7 +6375,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,288 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -6721,322 +6725,322 @@ msgstr "" msgid "Subcategories" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7187,7 +7191,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7380,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "" @@ -7448,7 +7452,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7545,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7585,7 +7589,7 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7666,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "" @@ -8633,7 +8637,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "" @@ -8706,43 +8710,47 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 +msgid "Supplier Part SKU" +msgstr "" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9066,57 @@ msgstr "" msgid "Entry notes" msgstr "" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2404 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid value for this test" +msgstr "Μη έγκυρη τιμή για υπέρβαση" + +#: stock/models.py:2428 msgid "Test result" msgstr "" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10319,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10346,12 +10360,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10805,7 +10819,7 @@ msgid "Are you sure you want to sign out?" msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "" @@ -10919,15 +10933,19 @@ msgstr "" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "" -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +msgid "Secret: " +msgstr "" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "" @@ -11006,7 +11024,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "" @@ -11395,7 +11413,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11740,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11765,8 +11783,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11952,7 +11970,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11969,34 +11987,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12247,7 +12265,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12328,347 +12346,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14388,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po index 0330f3907e..09ee8c780c 100644 --- a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-03 11:39+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -57,7 +57,7 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 @@ -65,13 +65,13 @@ msgstr "" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -400,7 +400,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -410,15 +410,15 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:581 common/models.py:2938 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -441,9 +441,9 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2490 -#: common/models.py:2491 common/models.py:2639 common/models.py:2640 -#: common/models.py:2885 common/models.py:2886 part/models.py:3219 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 @@ -488,9 +488,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:907 common/models.py:2626 common/models.py:3024 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -502,20 +502,20 @@ msgstr "" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:135 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -529,10 +529,10 @@ msgstr "" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -553,141 +553,141 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:99 company/models.py:183 +#: InvenTree/serializers.py:100 company/models.py:183 #: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1179 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "" @@ -751,14 +751,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -779,15 +779,15 @@ msgstr "" msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -831,7 +831,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -861,11 +861,11 @@ msgstr "" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:393 part/models.py:3038 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1125 part/serializers.py:1731 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -876,8 +876,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -890,8 +890,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -963,8 +963,8 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -973,7 +973,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 #: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 @@ -1006,7 +1006,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:144 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 #: order/templates/order/sales_order_base.html:232 part/models.py:1140 @@ -1044,7 +1044,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:128 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1085,9 +1085,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1489 part/serializers.py:1889 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1110,10 +1110,10 @@ msgstr "" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2512 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1123,7 +1123,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1134,8 +1134,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1184,9 +1184,9 @@ msgstr "" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1251,8 +1251,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" @@ -1262,10 +1262,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1145 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1327,8 +1327,8 @@ msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1400,7 +1400,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "" @@ -1436,11 +1436,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1453,7 +1453,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "" @@ -1497,7 +1497,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1507,21 +1507,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:833 part/serializers.py:1507 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1509 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1532 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1679,7 +1679,7 @@ msgstr "" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1895,11 +1895,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "" @@ -1969,355 +1969,346 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:70 +#: common/models.py:69 msgid "Updated" msgstr "" -#: common/models.py:71 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:129 +#: common/models.py:128 msgid "Unique project code" msgstr "" -#: common/models.py:136 +#: common/models.py:135 msgid "Project description" msgstr "" -#: common/models.py:145 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:765 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:769 +#: common/models.py:768 msgid "Settings value" msgstr "" -#: common/models.py:821 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:837 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:845 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "" -#: common/models.py:882 +#: common/models.py:881 msgid "Key string must be unique" msgstr "" -#: common/models.py:1114 +#: common/models.py:1113 msgid "No group" msgstr "" -#: common/models.py:1157 -msgid "An empty domain is not allowed." -msgstr "" - -#: common/models.py:1159 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "" - -#: common/models.py:1226 +#: common/models.py:1212 msgid "Restart required" msgstr "" -#: common/models.py:1228 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1235 +#: common/models.py:1221 msgid "Pending migrations" msgstr "" -#: common/models.py:1236 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "" -#: common/models.py:1243 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1247 +#: common/models.py:1233 msgid "Use instance name" msgstr "" -#: common/models.py:1248 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1253 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1254 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1259 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1260 +#: common/models.py:1246 msgid "Internal company name" msgstr "" -#: common/models.py:1264 +#: common/models.py:1250 msgid "Base URL" msgstr "" -#: common/models.py:1265 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1271 +#: common/models.py:1257 msgid "Default Currency" msgstr "" -#: common/models.py:1272 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1278 +#: common/models.py:1264 msgid "Supported Currencies" msgstr "" -#: common/models.py:1279 +#: common/models.py:1265 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1285 +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1287 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1290 common/models.py:1346 common/models.py:1359 -#: common/models.py:1367 common/models.py:1376 common/models.py:1385 -#: common/models.py:1593 common/models.py:1615 common/models.py:1730 -#: common/models.py:2049 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "" -#: common/models.py:1294 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1295 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1300 +#: common/models.py:1286 msgid "Download from URL" msgstr "" -#: common/models.py:1302 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1308 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "" -#: common/models.py:1309 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1315 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1317 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1322 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1323 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1328 +#: common/models.py:1314 msgid "Require confirm" msgstr "" -#: common/models.py:1329 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1334 +#: common/models.py:1320 msgid "Tree Depth" msgstr "" -#: common/models.py:1336 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1342 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "" -#: common/models.py:1343 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "" -#: common/models.py:1350 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1355 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1356 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1362 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1364 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1371 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1373 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1380 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1382 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1389 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1395 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1396 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1402 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1403 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1408 +#: common/models.py:1394 msgid "Part Revisions" msgstr "" -#: common/models.py:1409 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1414 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1415 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1420 +#: common/models.py:1406 msgid "IPN Regex" msgstr "" -#: common/models.py:1421 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1424 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1425 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1430 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1431 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1436 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1437 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1442 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1443 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1448 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1449 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1454 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1455 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1460 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2325,1153 +2316,1153 @@ msgstr "" msgid "Template" msgstr "" -#: common/models.py:1461 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1466 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1467 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1472 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1473 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1478 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "" -#: common/models.py:1479 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1484 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1485 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1490 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1491 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1496 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1497 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1502 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "" -#: common/models.py:1503 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1508 +#: common/models.py:1494 msgid "Show related parts" msgstr "" -#: common/models.py:1509 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1514 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1520 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1522 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1528 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1529 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "" -#: common/models.py:1535 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1536 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1540 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1542 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1548 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1550 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1556 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1558 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1564 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1566 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1572 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "" -#: common/models.py:1574 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1580 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1582 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1588 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1590 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1597 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1598 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1603 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "" -#: common/models.py:1605 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1611 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1613 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1620 +#: common/models.py:1616 msgid "Internal Prices" msgstr "" -#: common/models.py:1621 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1626 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "" -#: common/models.py:1628 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1634 +#: common/models.py:1630 msgid "Enable label printing" msgstr "" -#: common/models.py:1635 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1640 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "" -#: common/models.py:1642 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1648 +#: common/models.py:1644 msgid "Enable Reports" msgstr "" -#: common/models.py:1649 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1654 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1655 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1660 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "" -#: common/models.py:1661 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1666 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1667 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1672 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1673 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1678 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1680 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1686 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1687 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1692 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1693 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1698 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1700 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1706 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "" -#: common/models.py:1708 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1713 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "" -#: common/models.py:1714 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1719 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1720 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1725 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1727 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1734 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1735 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1741 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1746 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1747 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1751 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1752 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1757 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1759 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1765 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1767 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1773 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1775 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1781 common/models.py:1809 common/models.py:1831 -#: common/models.py:1867 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1782 common/models.py:1810 common/models.py:1832 -#: common/models.py:1868 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1787 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1789 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1795 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1796 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1801 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1803 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1815 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1817 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1823 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1825 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1837 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1838 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1843 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1845 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1851 +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1853 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1859 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1861 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1873 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1875 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1881 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1883 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1890 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "" -#: common/models.py:1891 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1896 +#: common/models.py:1892 msgid "Enable registration" msgstr "" -#: common/models.py:1897 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1902 +#: common/models.py:1898 msgid "Enable SSO" msgstr "" -#: common/models.py:1903 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1910 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1916 +#: common/models.py:1912 msgid "Email required" msgstr "" -#: common/models.py:1917 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1922 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1924 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1930 +#: common/models.py:1926 msgid "Mail twice" msgstr "" -#: common/models.py:1931 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1936 +#: common/models.py:1932 msgid "Password twice" msgstr "" -#: common/models.py:1937 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1942 +#: common/models.py:1938 msgid "Allowed domains" msgstr "" -#: common/models.py:1944 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1950 +#: common/models.py:1946 msgid "Group on signup" msgstr "" -#: common/models.py:1951 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1956 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "" -#: common/models.py:1957 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1962 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1964 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1972 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1973 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1979 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "" -#: common/models.py:1980 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1986 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1987 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1993 +#: common/models.py:1989 msgid "Enable app integration" msgstr "" -#: common/models.py:1994 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2000 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2001 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2007 +#: common/models.py:2003 msgid "Enable event integration" msgstr "" -#: common/models.py:2008 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2014 +#: common/models.py:2010 msgid "Enable project codes" msgstr "" -#: common/models.py:2015 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2020 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2022 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2028 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2030 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2036 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2038 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2044 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2046 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2053 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2054 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2059 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2060 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2072 common/models.py:2482 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2115 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2117 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2123 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2124 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2129 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2130 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2131 msgid "Show latest parts" msgstr "" -#: common/models.py:2136 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2141 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2142 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2147 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2148 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2153 +#: common/models.py:2149 msgid "Show low stock" msgstr "" -#: common/models.py:2154 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "" -#: common/models.py:2160 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2161 msgid "Show needed stock" msgstr "" -#: common/models.py:2166 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2171 +#: common/models.py:2167 msgid "Show expired stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2173 msgid "Show stale stock" msgstr "" -#: common/models.py:2178 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2179 msgid "Show pending builds" msgstr "" -#: common/models.py:2184 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "" -#: common/models.py:2190 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2195 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2196 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "" -#: common/models.py:2202 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2207 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2220 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2221 msgid "Show News" msgstr "" -#: common/models.py:2226 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2227 msgid "Inline label display" msgstr "" -#: common/models.py:2233 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2239 +#: common/models.py:2235 msgid "Default label printer" msgstr "" -#: common/models.py:2241 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2247 +#: common/models.py:2243 msgid "Inline report display" msgstr "" -#: common/models.py:2249 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2255 +#: common/models.py:2251 msgid "Search Parts" msgstr "" -#: common/models.py:2256 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2261 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2262 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2267 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2268 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2275 msgid "Search Categories" msgstr "" -#: common/models.py:2280 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2281 msgid "Search Stock" msgstr "" -#: common/models.py:2286 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2293 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2299 +#: common/models.py:2295 msgid "Search Locations" msgstr "" -#: common/models.py:2300 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2305 +#: common/models.py:2301 msgid "Search Companies" msgstr "" -#: common/models.py:2306 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "" -#: common/models.py:2312 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2318 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2325 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2331 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2332 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2337 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2339 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2345 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "" -#: common/models.py:2346 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2351 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2353 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2359 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "" -#: common/models.py:2361 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2367 +#: common/models.py:2363 msgid "Regex Search" msgstr "" -#: common/models.py:2368 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2373 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2374 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2379 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2380 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2385 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2386 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2391 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2392 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2397 +#: common/models.py:2393 msgid "Date Format" msgstr "" -#: common/models.py:2398 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2411 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2412 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2417 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2419 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2425 +#: common/models.py:2421 msgid "Table String Length" msgstr "" -#: common/models.py:2427 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2433 +#: common/models.py:2429 msgid "Default part label template" msgstr "" -#: common/models.py:2434 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2439 +#: common/models.py:2435 msgid "Default stock item template" msgstr "" -#: common/models.py:2441 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2447 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "" -#: common/models.py:2449 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2455 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2457 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2463 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2464 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2469 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2470 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2513 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2520 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2521 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2616 common/models.py:2801 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "" -#: common/models.py:2617 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2627 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "" -#: common/models.py:2631 company/models.py:160 company/models.py:814 +#: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 @@ -3483,101 +3474,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2631 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "" -#: common/models.py:2647 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2648 +#: common/models.py:2644 msgid "Token for access" msgstr "" -#: common/models.py:2656 +#: common/models.py:2652 msgid "Secret" msgstr "" -#: common/models.py:2657 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2765 +#: common/models.py:2761 msgid "Message ID" msgstr "" -#: common/models.py:2766 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2774 +#: common/models.py:2770 msgid "Host" msgstr "" -#: common/models.py:2775 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2783 +#: common/models.py:2779 msgid "Header" msgstr "" -#: common/models.py:2784 +#: common/models.py:2780 msgid "Header of this message" msgstr "" -#: common/models.py:2791 +#: common/models.py:2787 msgid "Body" msgstr "" -#: common/models.py:2792 +#: common/models.py:2788 msgid "Body of this message" msgstr "" -#: common/models.py:2802 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2807 +#: common/models.py:2803 msgid "Worked on" msgstr "" -#: common/models.py:2808 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2934 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:2936 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2940 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2942 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:2944 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2947 +#: common/models.py:2943 msgid "Read" msgstr "" -#: common/models.py:2947 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "" -#: common/models.py:2964 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3587,31 +3578,39 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2964 +#: common/models.py:2960 msgid "Image file" msgstr "" -#: common/models.py:3006 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3025 +#: common/models.py:3036 msgid "Unit name" msgstr "" -#: common/models.py:3032 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3033 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3040 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3041 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3709,6 +3708,23 @@ msgstr "" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "" + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3939,7 +3955,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -3950,7 +3966,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3965,11 +3981,11 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -3999,8 +4015,8 @@ msgid "Parameter name" msgstr "" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" @@ -4010,10 +4026,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "" @@ -4036,13 +4052,13 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4053,7 +4069,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4074,13 +4090,13 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "" @@ -4093,7 +4109,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4105,7 +4121,7 @@ msgid "Part packaging" msgstr "" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4138,11 +4154,11 @@ msgstr "" msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4154,7 +4170,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "" @@ -4215,7 +4231,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4426,7 +4442,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:837 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4447,7 +4463,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4526,8 +4542,8 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4576,15 +4592,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:836 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4733,7 +4749,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4770,7 +4786,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4791,11 +4807,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4967,7 +4983,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -4980,7 +4996,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5042,8 +5058,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" @@ -5091,7 +5107,7 @@ msgstr "" msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5165,7 +5181,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5174,163 +5190,163 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5660,7 +5676,7 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5756,12 +5772,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5772,14 +5788,14 @@ msgstr "" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" @@ -5820,22 +5836,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5849,13 +5865,13 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -5872,17 +5888,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1279 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1294 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5912,7 +5928,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5964,16 +5980,16 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1135 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" @@ -5982,7 +5998,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:838 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5991,7 +6007,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6006,7 +6022,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6081,7 +6097,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "" @@ -6199,7 +6215,7 @@ msgstr "" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" @@ -6360,7 +6376,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6419,284 +6435,288 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -6706,322 +6726,322 @@ msgstr "" msgid "Subcategories" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:535 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:874 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:881 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:882 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:921 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1137 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1174 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1280 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1295 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1302 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1355 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1732 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1759 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1824 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1868 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1871 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1874 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1883 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1891 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1912 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7172,7 +7192,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7272,15 +7292,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -7361,7 +7381,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "" @@ -7433,7 +7453,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7526,8 +7546,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7570,7 +7590,7 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7647,8 +7667,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "" @@ -8618,7 +8638,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "" @@ -8691,43 +8711,47 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 +msgid "Supplier Part SKU" +msgstr "" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8853,7 +8877,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8898,7 +8922,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" @@ -8910,7 +8934,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" @@ -8987,7 +9011,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" @@ -9019,7 +9043,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9043,51 +9067,55 @@ msgstr "" msgid "Entry notes" msgstr "" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2404 +msgid "Invalid value for this test" +msgstr "" + +#: stock/models.py:2428 msgid "Test result" msgstr "" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -9143,176 +9171,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "" @@ -9465,7 +9493,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "" @@ -9485,11 +9513,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10290,7 +10318,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10331,12 +10359,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10726,7 +10754,7 @@ msgid "Submit Bug Report" msgstr "" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "" @@ -10790,7 +10818,7 @@ msgid "Are you sure you want to sign out?" msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "" @@ -10904,15 +10932,19 @@ msgstr "" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "" -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +msgid "Secret: " +msgstr "" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "" @@ -10991,7 +11023,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "" @@ -11380,7 +11412,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11707,7 +11739,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11750,8 +11782,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11937,7 +11969,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11954,34 +11986,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12232,7 +12264,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12313,347 +12345,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" diff --git a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po index 7e96c8e5d8..112cd6e96d 100644 --- a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" @@ -64,13 +64,13 @@ msgstr "Ingrese la fecha" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "Selección no válida" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "Selección no válida" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Nombre" @@ -514,7 +514,7 @@ msgstr "Nombre" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "Nombre" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "Descripción (opcional)" msgid "parent" msgstr "padre" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Ruta" @@ -589,7 +589,7 @@ msgstr "Error de servidor" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "" @@ -686,7 +686,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "" @@ -750,14 +750,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "" #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1112,7 +1112,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "" @@ -4051,13 +4051,13 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "" @@ -4441,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5787,14 +5787,14 @@ msgstr "" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" @@ -5835,22 +5835,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -5887,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "" @@ -5997,7 +5997,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6006,7 +6006,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6021,7 +6021,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "" @@ -6214,7 +6214,7 @@ msgstr "" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" @@ -6375,7 +6375,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,288 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -6721,322 +6725,322 @@ msgstr "" msgid "Subcategories" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7187,7 +7191,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7380,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "" @@ -7448,7 +7452,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7545,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7585,7 +7589,7 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7666,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "" @@ -8633,7 +8637,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "" @@ -8706,43 +8710,47 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 +msgid "Supplier Part SKU" +msgstr "" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9066,55 @@ msgstr "" msgid "Entry notes" msgstr "" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2404 +msgid "Invalid value for this test" +msgstr "" + +#: stock/models.py:2428 msgid "Test result" msgstr "" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10317,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10346,12 +10358,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10805,7 +10817,7 @@ msgid "Are you sure you want to sign out?" msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "" @@ -10919,15 +10931,19 @@ msgstr "" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "" -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +msgid "Secret: " +msgstr "" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "" @@ -11006,7 +11022,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "" @@ -11395,7 +11411,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11738,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11765,8 +11781,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11952,7 +11968,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11969,34 +11985,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12247,7 +12263,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12328,347 +12344,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14386,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po index 0330f3907e..09ee8c780c 100644 --- a/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-03 11:39+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -57,7 +57,7 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 @@ -65,13 +65,13 @@ msgstr "" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -400,7 +400,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -410,15 +410,15 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:581 common/models.py:2938 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -441,9 +441,9 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2490 -#: common/models.py:2491 common/models.py:2639 common/models.py:2640 -#: common/models.py:2885 common/models.py:2886 part/models.py:3219 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 @@ -488,9 +488,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:907 common/models.py:2626 common/models.py:3024 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -502,20 +502,20 @@ msgstr "" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:135 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -529,10 +529,10 @@ msgstr "" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -553,141 +553,141 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:99 company/models.py:183 +#: InvenTree/serializers.py:100 company/models.py:183 #: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1179 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "" @@ -751,14 +751,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -779,15 +779,15 @@ msgstr "" msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -831,7 +831,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -861,11 +861,11 @@ msgstr "" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:393 part/models.py:3038 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1125 part/serializers.py:1731 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -876,8 +876,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -890,8 +890,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -963,8 +963,8 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -973,7 +973,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 #: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 @@ -1006,7 +1006,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:144 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 #: order/templates/order/sales_order_base.html:232 part/models.py:1140 @@ -1044,7 +1044,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:128 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1085,9 +1085,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1489 part/serializers.py:1889 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1110,10 +1110,10 @@ msgstr "" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2512 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1123,7 +1123,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1134,8 +1134,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1184,9 +1184,9 @@ msgstr "" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1251,8 +1251,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" @@ -1262,10 +1262,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1145 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1327,8 +1327,8 @@ msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1400,7 +1400,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "" @@ -1436,11 +1436,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1453,7 +1453,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "" @@ -1497,7 +1497,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1507,21 +1507,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:833 part/serializers.py:1507 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1509 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1532 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1679,7 +1679,7 @@ msgstr "" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1895,11 +1895,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 msgid "All lines have been fully allocated" msgstr "" @@ -1969,355 +1969,346 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:70 +#: common/models.py:69 msgid "Updated" msgstr "" -#: common/models.py:71 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:129 +#: common/models.py:128 msgid "Unique project code" msgstr "" -#: common/models.py:136 +#: common/models.py:135 msgid "Project description" msgstr "" -#: common/models.py:145 +#: common/models.py:144 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:765 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:769 +#: common/models.py:768 msgid "Settings value" msgstr "" -#: common/models.py:821 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:837 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:845 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "" -#: common/models.py:882 +#: common/models.py:881 msgid "Key string must be unique" msgstr "" -#: common/models.py:1114 +#: common/models.py:1113 msgid "No group" msgstr "" -#: common/models.py:1157 -msgid "An empty domain is not allowed." -msgstr "" - -#: common/models.py:1159 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "" - -#: common/models.py:1226 +#: common/models.py:1212 msgid "Restart required" msgstr "" -#: common/models.py:1228 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1235 +#: common/models.py:1221 msgid "Pending migrations" msgstr "" -#: common/models.py:1236 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "" -#: common/models.py:1243 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1247 +#: common/models.py:1233 msgid "Use instance name" msgstr "" -#: common/models.py:1248 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1253 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1254 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1259 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1260 +#: common/models.py:1246 msgid "Internal company name" msgstr "" -#: common/models.py:1264 +#: common/models.py:1250 msgid "Base URL" msgstr "" -#: common/models.py:1265 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1271 +#: common/models.py:1257 msgid "Default Currency" msgstr "" -#: common/models.py:1272 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1278 +#: common/models.py:1264 msgid "Supported Currencies" msgstr "" -#: common/models.py:1279 +#: common/models.py:1265 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1285 +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1287 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1290 common/models.py:1346 common/models.py:1359 -#: common/models.py:1367 common/models.py:1376 common/models.py:1385 -#: common/models.py:1593 common/models.py:1615 common/models.py:1730 -#: common/models.py:2049 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "" -#: common/models.py:1294 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1295 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1300 +#: common/models.py:1286 msgid "Download from URL" msgstr "" -#: common/models.py:1302 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1308 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "" -#: common/models.py:1309 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1315 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1317 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1322 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1323 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1328 +#: common/models.py:1314 msgid "Require confirm" msgstr "" -#: common/models.py:1329 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1334 +#: common/models.py:1320 msgid "Tree Depth" msgstr "" -#: common/models.py:1336 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1342 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "" -#: common/models.py:1343 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "" -#: common/models.py:1350 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1355 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1356 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1362 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1364 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1371 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1373 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1380 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1382 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1389 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1376 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1395 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1396 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1402 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1403 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1408 +#: common/models.py:1394 msgid "Part Revisions" msgstr "" -#: common/models.py:1409 +#: common/models.py:1395 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1414 +#: common/models.py:1400 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1415 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1420 +#: common/models.py:1406 msgid "IPN Regex" msgstr "" -#: common/models.py:1421 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1424 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1425 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1430 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1431 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1436 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1437 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1442 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1443 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1448 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1449 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1454 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1455 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1460 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2325,1153 +2316,1153 @@ msgstr "" msgid "Template" msgstr "" -#: common/models.py:1461 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1466 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1467 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1472 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1473 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1478 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "" -#: common/models.py:1479 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1484 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1485 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1490 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1491 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1496 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1497 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1502 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "" -#: common/models.py:1503 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1508 +#: common/models.py:1494 msgid "Show related parts" msgstr "" -#: common/models.py:1509 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1514 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1520 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1522 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1528 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1529 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "" -#: common/models.py:1535 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1536 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1540 +#: common/models.py:1526 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1542 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1548 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1550 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1556 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1558 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1564 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1566 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1572 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "" -#: common/models.py:1574 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1580 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1582 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1588 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1590 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1597 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1598 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1603 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "" -#: common/models.py:1605 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1611 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1613 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1620 +#: common/models.py:1616 msgid "Internal Prices" msgstr "" -#: common/models.py:1621 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1626 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "" -#: common/models.py:1628 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1634 +#: common/models.py:1630 msgid "Enable label printing" msgstr "" -#: common/models.py:1635 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1640 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "" -#: common/models.py:1642 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1648 +#: common/models.py:1644 msgid "Enable Reports" msgstr "" -#: common/models.py:1649 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1654 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1655 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1660 +#: common/models.py:1656 msgid "Log Report Errors" msgstr "" -#: common/models.py:1661 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1666 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1667 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1672 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1673 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1678 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1680 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1686 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1687 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1692 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1693 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1698 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1700 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1706 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "" -#: common/models.py:1708 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1713 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "" -#: common/models.py:1714 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1719 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1720 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1725 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1727 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1734 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1735 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1741 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1746 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1747 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1751 +#: common/models.py:1747 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1752 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1757 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1759 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1765 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1767 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1773 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1775 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1781 common/models.py:1809 common/models.py:1831 -#: common/models.py:1867 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1782 common/models.py:1810 common/models.py:1832 -#: common/models.py:1868 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1787 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1789 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1795 +#: common/models.py:1791 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1796 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1801 +#: common/models.py:1797 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1803 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1815 +#: common/models.py:1811 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1817 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1823 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1825 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1837 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1838 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1843 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1845 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1851 +#: common/models.py:1847 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1853 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1859 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1861 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1873 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1875 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1881 +#: common/models.py:1877 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1883 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1890 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "" -#: common/models.py:1891 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1896 +#: common/models.py:1892 msgid "Enable registration" msgstr "" -#: common/models.py:1897 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1902 +#: common/models.py:1898 msgid "Enable SSO" msgstr "" -#: common/models.py:1903 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1910 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1916 +#: common/models.py:1912 msgid "Email required" msgstr "" -#: common/models.py:1917 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1922 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1924 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1930 +#: common/models.py:1926 msgid "Mail twice" msgstr "" -#: common/models.py:1931 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1936 +#: common/models.py:1932 msgid "Password twice" msgstr "" -#: common/models.py:1937 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1942 +#: common/models.py:1938 msgid "Allowed domains" msgstr "" -#: common/models.py:1944 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1950 +#: common/models.py:1946 msgid "Group on signup" msgstr "" -#: common/models.py:1951 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1956 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "" -#: common/models.py:1957 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1962 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1964 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1972 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1973 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1979 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "" -#: common/models.py:1980 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1986 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1987 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1993 +#: common/models.py:1989 msgid "Enable app integration" msgstr "" -#: common/models.py:1994 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2000 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2001 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2007 +#: common/models.py:2003 msgid "Enable event integration" msgstr "" -#: common/models.py:2008 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2014 +#: common/models.py:2010 msgid "Enable project codes" msgstr "" -#: common/models.py:2015 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2020 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2022 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2028 +#: common/models.py:2024 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2030 +#: common/models.py:2026 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2036 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2038 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2044 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2046 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2053 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2054 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2059 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2060 +#: common/models.py:2056 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2072 common/models.py:2482 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2115 +#: common/models.py:2111 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2117 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2123 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2124 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2129 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2130 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2131 msgid "Show latest parts" msgstr "" -#: common/models.py:2136 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2141 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2142 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2147 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2148 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2153 +#: common/models.py:2149 msgid "Show low stock" msgstr "" -#: common/models.py:2154 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "" -#: common/models.py:2160 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2161 msgid "Show needed stock" msgstr "" -#: common/models.py:2166 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2171 +#: common/models.py:2167 msgid "Show expired stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2173 msgid "Show stale stock" msgstr "" -#: common/models.py:2178 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2179 msgid "Show pending builds" msgstr "" -#: common/models.py:2184 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "" -#: common/models.py:2190 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2195 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2196 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "" -#: common/models.py:2202 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2207 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2220 +#: common/models.py:2216 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2221 msgid "Show News" msgstr "" -#: common/models.py:2226 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2227 msgid "Inline label display" msgstr "" -#: common/models.py:2233 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2239 +#: common/models.py:2235 msgid "Default label printer" msgstr "" -#: common/models.py:2241 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2247 +#: common/models.py:2243 msgid "Inline report display" msgstr "" -#: common/models.py:2249 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2255 +#: common/models.py:2251 msgid "Search Parts" msgstr "" -#: common/models.py:2256 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2261 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2262 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2267 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2268 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2275 msgid "Search Categories" msgstr "" -#: common/models.py:2280 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2281 msgid "Search Stock" msgstr "" -#: common/models.py:2286 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2293 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2299 +#: common/models.py:2295 msgid "Search Locations" msgstr "" -#: common/models.py:2300 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2305 +#: common/models.py:2301 msgid "Search Companies" msgstr "" -#: common/models.py:2306 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "" -#: common/models.py:2312 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2318 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2325 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2331 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2332 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2337 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2339 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2345 +#: common/models.py:2341 msgid "Search Return Orders" msgstr "" -#: common/models.py:2346 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2351 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2353 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2359 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "" -#: common/models.py:2361 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2367 +#: common/models.py:2363 msgid "Regex Search" msgstr "" -#: common/models.py:2368 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2373 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2374 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2379 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2380 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2385 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2386 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2391 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2392 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2397 +#: common/models.py:2393 msgid "Date Format" msgstr "" -#: common/models.py:2398 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2411 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2412 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2417 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2419 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2425 +#: common/models.py:2421 msgid "Table String Length" msgstr "" -#: common/models.py:2427 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2433 +#: common/models.py:2429 msgid "Default part label template" msgstr "" -#: common/models.py:2434 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2439 +#: common/models.py:2435 msgid "Default stock item template" msgstr "" -#: common/models.py:2441 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2447 +#: common/models.py:2443 msgid "Default stock location label template" msgstr "" -#: common/models.py:2449 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2455 +#: common/models.py:2451 msgid "Default build line label template" msgstr "" -#: common/models.py:2457 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2463 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2464 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2469 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2470 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2513 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2520 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2521 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2616 common/models.py:2801 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "" -#: common/models.py:2617 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2627 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "" -#: common/models.py:2631 company/models.py:160 company/models.py:814 +#: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 @@ -3483,101 +3474,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2631 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "" -#: common/models.py:2647 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2648 +#: common/models.py:2644 msgid "Token for access" msgstr "" -#: common/models.py:2656 +#: common/models.py:2652 msgid "Secret" msgstr "" -#: common/models.py:2657 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2765 +#: common/models.py:2761 msgid "Message ID" msgstr "" -#: common/models.py:2766 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2774 +#: common/models.py:2770 msgid "Host" msgstr "" -#: common/models.py:2775 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2783 +#: common/models.py:2779 msgid "Header" msgstr "" -#: common/models.py:2784 +#: common/models.py:2780 msgid "Header of this message" msgstr "" -#: common/models.py:2791 +#: common/models.py:2787 msgid "Body" msgstr "" -#: common/models.py:2792 +#: common/models.py:2788 msgid "Body of this message" msgstr "" -#: common/models.py:2802 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2807 +#: common/models.py:2803 msgid "Worked on" msgstr "" -#: common/models.py:2808 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2934 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:2936 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2940 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2942 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:2944 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2947 +#: common/models.py:2943 msgid "Read" msgstr "" -#: common/models.py:2947 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "" -#: common/models.py:2964 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3587,31 +3578,39 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2964 +#: common/models.py:2960 msgid "Image file" msgstr "" -#: common/models.py:3006 +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3025 +#: common/models.py:3036 msgid "Unit name" msgstr "" -#: common/models.py:3032 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3033 +#: common/models.py:3044 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3040 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3041 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3709,6 +3708,23 @@ msgstr "" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "" + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -3939,7 +3955,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -3950,7 +3966,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3965,11 +3981,11 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -3999,8 +4015,8 @@ msgid "Parameter name" msgstr "" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" @@ -4010,10 +4026,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "" @@ -4036,13 +4052,13 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4053,7 +4069,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4074,13 +4090,13 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "" @@ -4093,7 +4109,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4105,7 +4121,7 @@ msgid "Part packaging" msgstr "" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4138,11 +4154,11 @@ msgstr "" msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4154,7 +4170,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "" @@ -4215,7 +4231,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4426,7 +4442,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:837 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4447,7 +4463,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4526,8 +4542,8 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4576,15 +4592,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:836 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4733,7 +4749,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -4770,7 +4786,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4791,11 +4807,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4967,7 +4983,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -4980,7 +4996,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5042,8 +5058,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" @@ -5091,7 +5107,7 @@ msgstr "" msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5165,7 +5181,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5174,163 +5190,163 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:84 +#: order/serializers.py:85 msgid "Completed Lines" msgstr "" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "" -#: order/serializers.py:461 +#: order/serializers.py:462 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:479 +#: order/serializers.py:480 msgid "Merge Items" msgstr "" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:602 +#: order/serializers.py:603 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1659 +#: order/serializers.py:1660 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 msgid "Line price currency" msgstr "" @@ -5660,7 +5676,7 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5756,12 +5772,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5772,14 +5788,14 @@ msgstr "" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" @@ -5820,22 +5836,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5849,13 +5865,13 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -5872,17 +5888,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1279 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1294 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5912,7 +5928,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5964,16 +5980,16 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1135 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" @@ -5982,7 +5998,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:838 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5991,7 +6007,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6006,7 +6022,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6081,7 +6097,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "" @@ -6199,7 +6215,7 @@ msgstr "" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" @@ -6360,7 +6376,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6419,284 +6435,288 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -6706,322 +6726,322 @@ msgstr "" msgid "Subcategories" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:535 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:874 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:881 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:882 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:921 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1137 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1174 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1280 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1295 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1302 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1355 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1732 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1759 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1824 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1868 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1871 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1874 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1883 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1891 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1912 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7172,7 +7192,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7272,15 +7292,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -7361,7 +7381,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "" @@ -7433,7 +7453,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7526,8 +7546,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7570,7 +7590,7 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7647,8 +7667,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "" @@ -8618,7 +8638,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "" @@ -8691,43 +8711,47 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 +msgid "Supplier Part SKU" +msgstr "" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8853,7 +8877,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8898,7 +8922,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" @@ -8910,7 +8934,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" @@ -8987,7 +9011,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" @@ -9019,7 +9043,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9043,51 +9067,55 @@ msgstr "" msgid "Entry notes" msgstr "" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2404 +msgid "Invalid value for this test" +msgstr "" + +#: stock/models.py:2428 msgid "Test result" msgstr "" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -9143,176 +9171,176 @@ msgstr "" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:717 +#: stock/serializers.py:720 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:749 +#: stock/serializers.py:752 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:923 +#: stock/serializers.py:926 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 msgid "No Change" msgstr "" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "" @@ -9465,7 +9493,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "" @@ -9485,11 +9513,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10290,7 +10318,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10331,12 +10359,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10726,7 +10754,7 @@ msgid "Submit Bug Report" msgstr "" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "" @@ -10790,7 +10818,7 @@ msgid "Are you sure you want to sign out?" msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "" @@ -10904,15 +10932,19 @@ msgstr "" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "" -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +msgid "Secret: " +msgstr "" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "" @@ -10991,7 +11023,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "" @@ -11380,7 +11412,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11707,7 +11739,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11750,8 +11782,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11937,7 +11969,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11954,34 +11986,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12232,7 +12264,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12313,347 +12345,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" diff --git a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po index c670576e5e..069b433b8b 100644 --- a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Persian\n" @@ -64,13 +64,13 @@ msgstr "تاریخ را وارد کنید" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" @@ -514,7 +514,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" @@ -589,7 +589,7 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "" @@ -686,7 +686,7 @@ msgstr "آدرس فایل تصویری از راه دور" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "" @@ -750,14 +750,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "" #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1112,7 +1112,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "" @@ -4051,13 +4051,13 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "" @@ -4441,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5787,14 +5787,14 @@ msgstr "" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" @@ -5835,22 +5835,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -5887,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "" @@ -5997,7 +5997,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6006,7 +6006,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6021,7 +6021,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "" @@ -6214,7 +6214,7 @@ msgstr "" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" @@ -6375,7 +6375,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,288 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -6721,322 +6725,322 @@ msgstr "" msgid "Subcategories" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7187,7 +7191,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7380,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "" @@ -7448,7 +7452,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7545,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7585,7 +7589,7 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7666,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "" @@ -8633,7 +8637,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "" @@ -8706,43 +8710,47 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 +msgid "Supplier Part SKU" +msgstr "" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9066,55 @@ msgstr "" msgid "Entry notes" msgstr "" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2404 +msgid "Invalid value for this test" +msgstr "" + +#: stock/models.py:2428 msgid "Test result" msgstr "" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10317,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10346,12 +10358,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10805,7 +10817,7 @@ msgid "Are you sure you want to sign out?" msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "" @@ -10919,15 +10931,19 @@ msgstr "" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "" -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +msgid "Secret: " +msgstr "" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "" @@ -11006,7 +11022,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "" @@ -11395,7 +11411,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11738,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11765,8 +11781,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11952,7 +11968,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11969,34 +11985,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12247,7 +12263,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12328,347 +12344,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14386,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po index e50b7b5f6b..49059e613e 100644 --- a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Finnish\n" @@ -64,13 +64,13 @@ msgstr "Anna päivämäärä" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "Puuttuva tiedosto" msgid "Missing external link" msgstr "Puuttuva ulkoinen linkki" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "Valitse liitettävä tiedosto" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "Virheellinen valinta" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "Virheellinen valinta" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Nimi" @@ -514,7 +514,7 @@ msgstr "Nimi" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "Nimi" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "Kuvaus (valinnainen)" msgid "parent" msgstr "" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Polku" @@ -589,7 +589,7 @@ msgstr "Palvelinvirhe" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "Täytyy olla kelvollinen luku" @@ -686,7 +686,7 @@ msgstr "Kuvatiedoston URL" msgid "Downloading images from remote URL is not enabled" msgstr "Kuvien lataaminen ei ole käytössä" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "" @@ -750,14 +750,14 @@ msgstr "Tietoja InvenTree:stä" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "" #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1112,7 +1112,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "Valitse valmistaja" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "Arvo" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "" @@ -4051,13 +4051,13 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "Toimittaja" msgid "Select supplier" msgstr "Valitse toimittaja" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "Toimittajan varastonimike" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "" @@ -4441,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5787,14 +5787,14 @@ msgstr "" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" @@ -5835,22 +5835,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -5887,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "Kategoria" @@ -5997,7 +5997,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6006,7 +6006,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6021,7 +6021,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "" @@ -6214,7 +6214,7 @@ msgstr "" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" @@ -6375,7 +6375,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,288 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Käytössä" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -6721,322 +6725,322 @@ msgstr "" msgid "Subcategories" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "Valmistajan osanumero" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "Luo raportti" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7187,7 +7191,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7380,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "" @@ -7448,7 +7452,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7545,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7585,7 +7589,7 @@ msgstr "" msgid "Edit" msgstr "Muokkaa" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7666,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "" @@ -8633,7 +8637,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "" @@ -8706,43 +8710,49 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 +#, fuzzy +#| msgid "Supplier" +msgid "Supplier Part SKU" +msgstr "Toimittaja" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9068,57 @@ msgstr "" msgid "Entry notes" msgstr "" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2404 +#, fuzzy +#| msgid "Invalid value" +msgid "Invalid value for this test" +msgstr "Virheellinen arvo" + +#: stock/models.py:2428 msgid "Test result" msgstr "" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10321,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "Poista" @@ -10346,12 +10362,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10805,7 +10821,7 @@ msgid "Are you sure you want to sign out?" msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "" @@ -10919,15 +10935,21 @@ msgstr "Vaihe 1" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "" -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +#, fuzzy +#| msgid "Secret" +msgid "Secret: " +msgstr "Salaisuus" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "Vaihe 2" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "" @@ -11006,7 +11028,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "" @@ -11395,7 +11417,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11744,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11765,8 +11787,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11952,7 +11974,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11969,34 +11991,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12247,7 +12269,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12328,347 +12350,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14392,3 @@ msgstr "Oikeus muokata kohteita" #: users/models.py:413 msgid "Permission to delete items" msgstr "Oikeus poistaa kohteita" - diff --git a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po index 39348ee67c..2406fd9ee5 100644 --- a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:38\n" "Last-Translator: \n" "Language-Team: French\n" @@ -64,13 +64,13 @@ msgstr "Entrer la date" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "Fichier manquant" msgid "Missing external link" msgstr "Lien externe manquant" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "Sélectionnez un fichier à joindre" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "Choix invalide" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "Choix invalide" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Nom" @@ -514,7 +514,7 @@ msgstr "Nom" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "Nom" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "Description (facultative)" msgid "parent" msgstr "parent" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Chemin d'accès" @@ -589,7 +589,7 @@ msgstr "Erreur serveur" msgid "An error has been logged by the server." msgstr "Une erreur a été loguée par le serveur." -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "Doit être un nombre valide" @@ -686,7 +686,7 @@ msgstr "URL du fichier image distant" msgid "Downloading images from remote URL is not enabled" msgstr "Le téléchargement des images depuis une URL distante n'est pas activé" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "Échec de la vérification du processus d'arrière-plan" @@ -750,14 +750,14 @@ msgstr "À propos d'InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "La construction doit être annulée avant de pouvoir être supprimée" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Consommable" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "Allouée" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "Référence de l' Ordre de Fabrication" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "BuildOrder associé a cette fabrication" #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "BuildOrder associé a cette fabrication" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "L'ordre de production de correspond pas à l'ordre de commande" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" @@ -1112,7 +1112,7 @@ msgstr "Création de l'objet" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "Création de l'objet" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "Entrer les numéros de séries pour la fabrication" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "Affecter des éléments de nomenclature facultatifs à l'ordre de fabric msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "Article du BOM" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "Stock alloué" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "En Commande" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "En Production" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "Le stock n'a pas été entièrement alloué à cet ordre de construction #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "Copier les templates de paramètres de catégorie" msgid "Copy category parameter templates when creating a part" msgstr "Copier les templates de paramètres de la catégorie lors de la création d'une pièce" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "Sélectionner un fabricant" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "Nom du paramètre" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "Valeur" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "Valeur du paramètre" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "Unités" @@ -4051,13 +4051,13 @@ msgstr "La pièce du fabricant liée doit faire référence à la même pièce d #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "Fournisseur" msgid "Select supplier" msgstr "Sélectionner un fournisseur" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "Unité de gestion des stocks des fournisseurs" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "Description de la pièce du fournisseur" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Frais minimums (par exemple frais de stock)" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "Conditionnement de l'article" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "En Stock" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "" @@ -4441,7 +4441,7 @@ msgstr "Aucune information sur le fabricant disponible" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "Nouveau paramètre" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "Aucune information de fournisseur disponible" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "Commande En Attente" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "Pièce fournisseur" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "Référence client" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "ID de composant" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Nom de l'article" @@ -5787,14 +5787,14 @@ msgstr "Description pièce" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Révision" @@ -5835,22 +5835,22 @@ msgstr "Stock Minimum" msgid "Used In" msgstr "Utilisé pour" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "Construction" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "Coût minimal" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "Coût maximal" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "Chemin catégorie" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Pièces" @@ -5887,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Prix Minimum" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "Catégorie" @@ -5997,7 +5997,7 @@ msgstr "Utilise" msgid "Default Location" msgstr "Emplacement par défaut" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Stock total" @@ -6006,7 +6006,7 @@ msgstr "Stock total" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Catégorie de composant" @@ -6021,7 +6021,7 @@ msgstr "Catégories de composants" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "Nom de l'article" @@ -6214,7 +6214,7 @@ msgstr "Propriétaire responsable de cette pièce" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" @@ -6375,7 +6375,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,288 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "Nom de test" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Activé" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Requis" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "Valeur requise" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "Données" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Valeur par Défaut" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Surplus" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Validée" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -6721,322 +6725,322 @@ msgstr "" msgid "Subcategories" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "Devise d'achat de l'item" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "Copier l'image" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "Copier les paramètres" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7187,7 +7191,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7380,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "" @@ -7448,7 +7452,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7545,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7585,7 +7589,7 @@ msgstr "" msgid "Edit" msgstr "Modifier" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7666,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "" @@ -8633,7 +8637,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "Résultat" @@ -8706,43 +8710,49 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 +#, fuzzy +#| msgid "Supplier Part" +msgid "Supplier Part SKU" +msgstr "Pièce fournisseur" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9068,57 @@ msgstr "" msgid "Entry notes" msgstr "" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2404 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid value for this test" +msgstr "Valeur invalide pour le dépassement" + +#: stock/models.py:2428 msgid "Test result" msgstr "" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10321,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "Supprimer" @@ -10346,12 +10362,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10805,7 +10821,7 @@ msgid "Are you sure you want to sign out?" msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "" @@ -10919,15 +10935,21 @@ msgstr "Étape 1" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "Scanner le QR code ci-dessous avec un générateur de token de votre choix (par exemple Google Authenticator)." -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +#, fuzzy +#| msgid "Secret" +msgid "Secret: " +msgstr "Confidentiel" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "Étape 2" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "Entrer un token généré par l'application :" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "Vérifier" @@ -11006,7 +11028,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "" @@ -11395,7 +11417,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11744,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11765,8 +11787,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11952,7 +11974,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11969,34 +11991,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12247,7 +12269,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12328,347 +12350,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14392,3 @@ msgstr "Droit de modifier des élément" #: users/models.py:413 msgid "Permission to delete items" msgstr "Droit de supprimer des éléments" - diff --git a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po index 67a6e8840f..22a4c3d583 100644 --- a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Hebrew\n" @@ -64,13 +64,13 @@ msgstr "הזן תאריך סיום" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "קובץ חסר" msgid "Missing external link" msgstr "חסר קישור חיצוני" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "בחר קובץ לצירוף" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "בחירה שגויה" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "בחירה שגויה" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "שם" @@ -514,7 +514,7 @@ msgstr "שם" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "שם" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "תיאור (לא חובה)" msgid "parent" msgstr "מקור" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" @@ -589,7 +589,7 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "המספר חייב להיות תקין" @@ -686,7 +686,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "" @@ -750,14 +750,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "" #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1112,7 +1112,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "" @@ -4051,13 +4051,13 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "" @@ -4441,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5787,14 +5787,14 @@ msgstr "" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" @@ -5835,22 +5835,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -5887,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "" @@ -5997,7 +5997,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6006,7 +6006,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6021,7 +6021,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "" @@ -6214,7 +6214,7 @@ msgstr "" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" @@ -6375,7 +6375,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,288 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -6721,322 +6725,322 @@ msgstr "" msgid "Subcategories" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7187,7 +7191,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7380,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "" @@ -7448,7 +7452,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7545,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7585,7 +7589,7 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7666,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "" @@ -8633,7 +8637,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "" @@ -8706,43 +8710,47 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 +msgid "Supplier Part SKU" +msgstr "" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9066,55 @@ msgstr "" msgid "Entry notes" msgstr "" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2404 +msgid "Invalid value for this test" +msgstr "" + +#: stock/models.py:2428 msgid "Test result" msgstr "" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10317,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10346,12 +10358,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10805,7 +10817,7 @@ msgid "Are you sure you want to sign out?" msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "" @@ -10919,15 +10931,19 @@ msgstr "" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "" -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +msgid "Secret: " +msgstr "" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "" @@ -11006,7 +11022,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "" @@ -11395,7 +11411,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11738,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11765,8 +11781,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11952,7 +11968,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11969,34 +11985,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12247,7 +12263,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12328,347 +12344,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14386,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po index 377e83feb1..945efe0a1d 100644 --- a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Hindi\n" @@ -64,13 +64,13 @@ msgstr "तारीख दर्ज करें" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" @@ -514,7 +514,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" @@ -589,7 +589,7 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "" @@ -686,7 +686,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "" @@ -750,14 +750,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "" #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1112,7 +1112,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "" @@ -4051,13 +4051,13 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "" @@ -4441,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5787,14 +5787,14 @@ msgstr "" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" @@ -5835,22 +5835,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -5887,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "" @@ -5997,7 +5997,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6006,7 +6006,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6021,7 +6021,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "" @@ -6214,7 +6214,7 @@ msgstr "" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" @@ -6375,7 +6375,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,288 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -6721,322 +6725,322 @@ msgstr "" msgid "Subcategories" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7187,7 +7191,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7380,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "" @@ -7448,7 +7452,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7545,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7585,7 +7589,7 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7666,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "" @@ -8633,7 +8637,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "" @@ -8706,43 +8710,47 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 +msgid "Supplier Part SKU" +msgstr "" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9066,55 @@ msgstr "" msgid "Entry notes" msgstr "" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2404 +msgid "Invalid value for this test" +msgstr "" + +#: stock/models.py:2428 msgid "Test result" msgstr "" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10317,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10346,12 +10358,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10805,7 +10817,7 @@ msgid "Are you sure you want to sign out?" msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "" @@ -10919,15 +10931,19 @@ msgstr "" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "" -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +msgid "Secret: " +msgstr "" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "" @@ -11006,7 +11022,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "" @@ -11395,7 +11411,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11738,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11765,8 +11781,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11952,7 +11968,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11969,34 +11985,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12247,7 +12263,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12328,347 +12344,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14386,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po index e518ee6f9c..12d343424d 100644 --- a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Hungarian\n" @@ -64,13 +64,13 @@ msgstr "Dátum megadása" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "Hiányzó fájl" msgid "Missing external link" msgstr "Hiányzó külső link" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "Válaszd ki a mellekelni kívánt fájlt" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "Érvénytelen választás" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "Érvénytelen választás" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Név" @@ -514,7 +514,7 @@ msgstr "Név" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "Név" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "Leírás (opcionális)" msgid "parent" msgstr "szülő" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Elérési út" @@ -589,7 +589,7 @@ msgstr "Kiszolgálóhiba" msgid "An error has been logged by the server." msgstr "A kiszolgáló egy hibaüzenetet rögzített." -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "Érvényes számnak kell lennie" @@ -686,7 +686,7 @@ msgstr "A távoli kép URL-je" msgid "Downloading images from remote URL is not enabled" msgstr "Képek letöltése távoli URL-ről nem engedélyezett" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "Háttér folyamat ellenőrzés sikertelen" @@ -750,14 +750,14 @@ msgstr "Verzió információk" msgid "Build must be cancelled before it can be deleted" msgstr "A gyártást be kell fejezni a törlés előtt" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Fogyóeszköz" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "Lefoglalva" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "Gyártási utasítás azonosító" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "Gyártási kimenet nem egyezik a gyártási utasítással" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" @@ -1112,7 +1112,7 @@ msgstr "Gyártás objektum" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "Gyártás objektum" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "Add meg a sorozatszámokat a gyártás kimenetéhez" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1345,7 +1345,8 @@ msgstr "Hiányos foglalás elfogadása" #: build/serializers.py:527 msgid "Complete outputs if stock has not been fully allocated" -msgstr "Kimenetek befejezése akkor is ha a készlet nem\n" +msgstr "" +"Kimenetek befejezése akkor is ha a készlet nem\n" "lett teljesen lefoglalva" #: build/serializers.py:612 @@ -1497,7 +1498,7 @@ msgstr "Opcionális tételek lefoglalása a gyártáshoz" msgid "Failed to start auto-allocation task" msgstr "Nem sikerült az automatikus lefoglalás feladatot elindítani" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "Alkatrészjegyzék tétel" @@ -1507,21 +1508,21 @@ msgid "Allocated Stock" msgstr "Lefoglalt készlet" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "Rendelve" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "Gyártásban" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1679,7 +1680,7 @@ msgstr "Még nincs lefoglalva a szükséges készlet" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2308,7 +2309,7 @@ msgstr "Kategória paraméter sablonok másolása" msgid "Copy category parameter templates when creating a part" msgstr "Kategória paraméter sablonok másolása alkatrész létrehozásakor" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3440,7 +3441,7 @@ msgstr "Ársáv mennyiség" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3966,7 +3967,7 @@ msgstr "Válassz alkatrészt" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3981,11 +3982,11 @@ msgid "Select manufacturer" msgstr "Gyártó kiválasztása" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4015,8 +4016,8 @@ msgid "Parameter name" msgstr "Paraméter neve" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "Érték" @@ -4026,10 +4027,10 @@ msgid "Parameter value" msgstr "Paraméter értéke" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "Mértékegység" @@ -4052,13 +4053,13 @@ msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészr #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4069,7 +4070,7 @@ msgstr "Beszállító" msgid "Select supplier" msgstr "Beszállító kiválasztása" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "Beszállítói cikkszám" @@ -4090,7 +4091,7 @@ msgid "Supplier part description" msgstr "Beszállítói alkatrész leírása" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4109,7 +4110,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimális díj (pl. tárolási díj)" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4121,7 +4122,7 @@ msgid "Part packaging" msgstr "Alkatrész csomagolás" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4170,7 +4171,7 @@ msgstr "Készleten" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "Inaktív" @@ -4442,7 +4443,7 @@ msgstr "Nincs elérhető gyártói információ" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4463,7 +4464,7 @@ msgid "New Parameter" msgstr "Új paraméter" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "Paraméter hozzáadása" @@ -4542,8 +4543,8 @@ msgid "No supplier information available" msgstr "Nincs elérhető beszállítói információ" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4592,7 +4593,7 @@ msgid "Update Part Availability" msgstr "Alkatrész elérhetőség frissítése" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4600,7 +4601,7 @@ msgstr "Alkatrész elérhetőség frissítése" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4786,7 +4787,7 @@ msgstr "A rendelés függőben" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4983,7 +4984,7 @@ msgid "Supplier part" msgstr "Beszállítói alkatrész" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5676,7 +5677,7 @@ msgstr "Vevői azonosító" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5772,12 +5773,12 @@ msgstr "A {part} egységára {price}-ra módosítva" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "A {part} alkatrész módosított egységára {price} mennyisége pedig {qty}" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "Alkatrész ID" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Alkatrész neve" @@ -5788,14 +5789,14 @@ msgstr "Alkatrész leírása" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "IPN (Belső Cikkszám)" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Változat" @@ -5836,22 +5837,22 @@ msgstr "Minimális készlet" msgid "Used In" msgstr "Felhasználva ebben" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "Gyártásban" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "Minimum költség" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "Maximum költség" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "Szülő ID" @@ -5865,13 +5866,13 @@ msgid "Category Path" msgstr "Kategória elérési út" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Alkatrészek" @@ -5888,17 +5889,17 @@ msgstr "Alkatrészjegyzék tétel ID" msgid "Parent IPN" msgstr "Szülő IPN" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "Alkatrész IPN" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Minimum ár" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5928,7 +5929,7 @@ msgstr "Lépcsőzetes" msgid "Include sub-categories in filtered results" msgstr "Szűrt eredmények tartalmazzák az alkategóriákat" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "Szülő" @@ -5980,12 +5981,12 @@ msgstr "Ennek az opciónak ki kll lennie választva" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "Kategória" @@ -5998,7 +5999,7 @@ msgstr "Használ" msgid "Default Location" msgstr "Alapértelmezett hely" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Teljes készlet" @@ -6007,7 +6008,7 @@ msgstr "Teljes készlet" msgid "Input quantity for price calculation" msgstr "Add meg a mennyiséget az árszámításhoz" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Alkatrész kategória" @@ -6022,7 +6023,7 @@ msgstr "Alkatrész kategóriák" msgid "Default location for parts in this category" msgstr "Ebben a kategóriában lévő alkatrészek helye alapban" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6097,7 +6098,7 @@ msgstr "Ilyen nevű, IPN-ű és reviziójú alkatrész már létezik." msgid "Parts cannot be assigned to structural part categories!" msgstr "Szerkezeti kategóriákhoz nem lehet alkatrészeket rendelni!" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "Alkatrész neve" @@ -6215,7 +6216,7 @@ msgstr "Alkatrész felelőse" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "Utolsó leltár" @@ -6376,7 +6377,7 @@ msgstr "Teljes készlet a leltárkor" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6435,284 +6436,290 @@ msgstr "Felhasználó aki a leltár riportot kérte" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Hibás sablon név - legalább egy alfanumerikus karakter kötelező" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "A lehetőségek egyediek kell legyenek" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "Teszt sablont csak követésre kötelezett alkatrészhez lehet csinálni" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "Már létezik ilyen azonosítójú Teszt sablon ehhez az alkatrészhez" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "Teszt név" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "Add meg a teszt nevét" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "Teszt azonosító" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "Egyszerűsített Teszt azonosító" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "Teszt leírása" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "Adj hozzá egy leírást ehhez a teszthez" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Engedélyezve" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "Teszt engedélyezve?" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Kötelező" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "Szükséges-e hogy ez a teszt sikeres legyen?" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "Kötelező érték" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "Szükséges-e hogy ennek a tesztnek az eredményéhez kötelezően érték legyen rendelve?" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "Kötelező melléklet" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "Szükséges-e hogy ennek a tesztnek az eredményéhez kötelezően fájl melléklet legyen rendelve?" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "Lehetőségek" + +#: part/models.py:3575 +#, fuzzy +#| msgid "Valid choices for this parameter (comma-separated)" +msgid "Valid choices for this test (comma-separated)" +msgstr "Választható lehetőségek (vesszővel elválasztva)" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "Jelölőnégyzet paraméternek nem lehet mértékegysége" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "Jelölőnégyzet paraméternek nem lehetnek választási lehetőségei" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "A lehetőségek egyediek kell legyenek" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "A paraméter sablon nevének egyedinek kell lennie" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "Paraméter neve" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "Paraméter mértékegysége" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "Paraméter leírása" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "Jelölőnégyzet" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "Ez a paraméter egy jelölőnégyzet?" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "Lehetőségek" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "Választható lehetőségek (vesszővel elválasztva)" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "Hibás választás a paraméterre" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "Szülő alkatrész" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Paraméter sablon" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "Adat" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "Paraméter értéke" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Alapértelmezett érték" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "Alapértelmezett paraméter érték" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "Alkatrész ID vagy alkatrész név" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "Egyedi alkatrész ID értéke" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "Alkatrész IPN érték" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "Szint" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "Alkatrészjegyzék szint" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "Szülő alkatrész kiválasztása" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "Al alkatrész" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "Ez az alkatrészjegyzék tétel opcionális" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Ez az alkatrészjegyzék tétel fogyóeszköz (készlete nincs követve a gyártásban)" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Többlet" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Becsült gyártási veszteség (abszolút vagy százalékos)" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "Alkatrészjegyzék tétel azonosító" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "Alkatrészjegyzék tétel megjegyzései" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "Ellenőrző összeg" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "Alkatrészjegyzék sor ellenőrző összeg" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Jóváhagyva" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "Ez a BOM tétel jóvá lett hagyva" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "Öröklődött" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Ezt az alkatrészjegyzék tételt az alkatrész változatok alkatrészjegyzékei is öröklik" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Változatok" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Alkatrészváltozatok készlet tételei használhatók ehhez az alkatrészjegyzék tételhez" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "A mennyiség egész szám kell legyen a követésre kötelezett alkatrészek esetén" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "Al alkatrészt kötelező megadni" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "Alkatrészjegyzék tétel helyettesítő" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "A helyettesítő alkatrész nem lehet ugyanaz mint a fő alkatrész" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "Szülő alkatrészjegyzék tétel" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "Helyettesítő alkatrész" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "1.rész" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "2.rész" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "Válassz kapcsolódó alkatrészt" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "Alkatrész kapcsolat nem hozható létre önmagával" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "Már létezik duplikált alkatrész kapcsolat" @@ -6722,322 +6729,322 @@ msgstr "Már létezik duplikált alkatrész kapcsolat" msgid "Subcategories" msgstr "Alkategóriák" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "Eredmények" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "Eszerint a sablon szerint rögzített eredmények száma" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "Beszerzési pénzneme ennek a készlet tételnek" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "Ennyi alkatrész használja ezt a sablont" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "Nincs kiválasztva alkatrész" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "Válassz kategóriát" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "Eredeti alkatrész" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "Válassz eredeti alkatrészt a másoláshoz" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "Kép másolása" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "Kép másolása az eredeti alkatrészről" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Alkatrészjegyzék másolása" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "Alkatrészjegyzék másolása az eredeti alkatrészről" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "Paraméterek másolása" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "Paraméterek másolása az eredeti alkatrészről" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "Megjegyzések másolása" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "Megjegyzések másolása az eredeti alkatrészről" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "Kezdeti készlet mennyiség" -#: part/serializers.py:491 +#: part/serializers.py:492 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:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "Kezdeti készlet hely" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "Add meg a kezdeti készlet helyét" -#: part/serializers.py:516 +#: part/serializers.py:517 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:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "Válassz gyártót (hagyd üresen ha nem kell létrehozni)" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "Gyártói cikkszám" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "A kiválasztott cég nem érvényes beszállító" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "A kiválasztott cég nem érvényes gyártó" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "Van már ilyen gyártói alkatrész" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "Van már ilyen beszállítói alkatrész" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "Külső raktárkészlet" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "Nem lefoglalt készlet" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "Variánsok Raktárkészlet" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "Alkatrész másolása" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "Kezdeti adatok másolása egy másik alkatrészről" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Kezdeti készlet" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "Kezdeti készlet mennyiség létrehozása" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "Beszállító információ" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "Kezdeti beszállító adatok hozzáadása" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "Kategória paraméterek másolása" -#: part/serializers.py:899 +#: part/serializers.py:900 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:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "Meglévő kép" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "A meglévő alkatrész képfájl neve" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "A képfájl nem létezik" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Leltár riport korlátozása bizonyos alkatrészre és variánsra" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Leltár riport korlátozása bizonyos alkatrész kategóriára és az alatta lévőkre" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Leltár riport korlátozása bizonyos készlethelyre és az alatta lévőkre" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "Külső készlet nélkül" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "Külső helyeken lévő készlet nélkül" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "Riport létrehozása" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "Riport fájl létrehozása a számított leltár adatokkal" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "Alaktrészek frissítése" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "Megadott alkatrészek frissítése a számított leltár adatokkal" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "Leltár funkció nincs engedélyezve" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "Számított minimum ár felülbírálása" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "Minimum ár pénzneme" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "Számított maximum ár felülbírálása" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "Maximum ár pénzneme" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "Frissítés" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "Alkatrész árak frissítése" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, 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:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "A Minimum ár nem lehet nagyobb mint a Maximum ár" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "A Maximum ár nem lehet kisebb mint a Minimum ár" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "Válassz alkatrészt ahonnan az alkatrészjegyzéket másoljuk" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "Létező adat törlése" -#: part/serializers.py:1742 +#: part/serializers.py:1743 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:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "Örököltekkel együtt" -#: part/serializers.py:1748 +#: part/serializers.py:1749 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:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "Hibás sorok kihagyása" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "Engedély a hibás sorok kihagyására" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "Helyettesítő alkatrészek másolása" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "Helyettesítő alkatrészek másolása az alkatrészjegyzék tételek másolásakor" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "Meglévő alkatrészjegyzék törlése" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "Meglévő alkatrészjegyzék tételek törlése a feltöltés előtt" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "Nincs megadva alkatrész oszlop" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "Több egyező alkatrész is található" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "Nincs egyező alkatrész" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "Az alkatrész nem lett összetevőként jelölve" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "Mennyiség nincs megadva" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "Érvénytelen mennyiség" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "Legalább egy alkatrészjegyzék tétel szükséges" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "Teljes mennyiség" @@ -7188,7 +7195,7 @@ msgid "Add stocktake information" msgstr "Leltár információ hozzáadása" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7377,7 +7384,7 @@ msgstr "Készlet számolása" msgid "Transfer part stock" msgstr "Készlet áthelyezése" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "Készlet műveletek" @@ -7449,7 +7456,7 @@ msgid "Minimum stock level" msgstr "Minimális készlet" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7542,8 +7549,8 @@ msgstr "Változatok" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Készlet" @@ -7586,7 +7593,7 @@ msgstr "Alkatrész árazás felülbírálása" msgid "Edit" msgstr "Szerkesztés" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7663,8 +7670,8 @@ msgstr "Árazás Frissítése" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "Nincs készlet" @@ -8634,7 +8641,7 @@ msgstr "Teszt eredmények" msgid "Test" msgstr "Teszt" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "Eredmény" @@ -8707,43 +8714,49 @@ msgid "Supplier Part ID" msgstr "Beszállítói cikkszám" #: stock/admin.py:185 +#, fuzzy +#| msgid "Supplier Part" +msgid "Supplier Part SKU" +msgstr "Beszállítói alkatrész" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "Beszállító ID" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "Beszállító neve" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "Vevő ID" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Beépítve ebbe" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "Gyártás ID" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "Vevői rendelés ID" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "Vevői rendelés azonosító" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "Felülvizsgálat szükséges" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "Törlés ha kimerül" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9059,51 +9072,57 @@ msgstr "Készlet tétel nem mozgatható mivel nincs készleten" msgid "Entry notes" msgstr "Bejegyzés megjegyzései" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "Ehhez a teszthez meg kell adni értéket" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "Ehhez a teszthez fel kell tölteni mellékletet" -#: stock/models.py:2423 +#: stock/models.py:2404 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid value for this test" +msgstr "Érvénytelen érték a túlszállításra" + +#: stock/models.py:2428 msgid "Test result" msgstr "Teszt eredménye" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "Teszt kimeneti értéke" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "Teszt eredmény melléklet" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "Tesztek megjegyzései" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "Teszt állomás" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "A tesztet elvégző tesztállomás azonosítója" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "Elkezdődött" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "A teszt indításának időpontja" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "Befejezve" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "A teszt befejezésének időpontja" @@ -10306,7 +10325,7 @@ msgstr "Árfolyam" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "Törlés" @@ -10347,12 +10366,12 @@ msgid "No category parameter templates found" msgstr "Nincs kategória paraméter sablon" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "Sablon szerkesztése" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "Sablon törlése" @@ -10806,7 +10825,7 @@ msgid "Are you sure you want to sign out?" msgstr "Biztosan ki akarsz jelentkezni?" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "Vissza az alkalmazáshoz" @@ -10920,15 +10939,21 @@ msgstr "1. lépés" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "Olvasd be a lenti QR kódot egy kiválaszott token generátorral (például a Google Authenticator-ral)." -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +#, fuzzy +#| msgid "Secret" +msgid "Secret: " +msgstr "Titok" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "2. lépés" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "Írd be az app által létrehozott tokent:" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "Ellenőrzés" @@ -11007,7 +11032,7 @@ msgid "Click on the following link to view this part" msgstr "Klikk a következő linkre az alkatrész megjelenítéséhez" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "Minimum mennyiség" @@ -11396,7 +11421,7 @@ msgid "Includes variant and substitute stock" msgstr "Változatokkal és helyettesítőkkel együtt" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "Változatokkal együtt" @@ -11723,7 +11748,7 @@ msgstr "Nincs a lekérdezéssel egyező gyártási utasítás" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "Kiválaszt" @@ -11766,8 +11791,8 @@ msgstr "gyártás sorok" msgid "No build lines found" msgstr "Nincsenek gyártási sorok" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "Követésre kötelezett alkatrész" @@ -11953,7 +11978,7 @@ msgid "Delete Parameters" msgstr "Paraméterek törlése" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "Alkatrész rendelés" @@ -11970,34 +11995,34 @@ msgid "No manufacturer parts found" msgstr "Nincs gyártói alkatrész" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "Sablon alkatrész" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "Gyártmány alkatrész" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "Nem található paraméter" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "Paraméter szerkesztése" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "Paraméter törlése" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "Paraméter szerkesztése" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "Paraméter törlése" @@ -12248,7 +12273,7 @@ msgstr "Nem találhatók hírek" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "Azonosító" @@ -12329,347 +12354,347 @@ msgstr "Alkatrész másolási opciók" msgid "Add Part Category" msgstr "Alkatrész kategória hozzáadása" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "Felsőbb szintű alkatrész kategória" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "Ikon (opcionális) - Az összes ikon felfedezése itt" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "Alkatrész kategória létrehozása" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "Új kategória létrehozása ez után" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "Alkatrész kategória létrehozva" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "Alkatrész kategória szerkesztése" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "Biztos hogy törölni szeretnéd ezt az alkatrész kategóriát?" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "Áthelyezés fentebbi kategóriába" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "Alkatrész kategória törlése" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "A kategóriában lévő alkatrészek kezelése" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "Alkategóriák kezelése" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "Alkatrész létrehozása" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "Új alkatrész létrehozása ez után" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "Alkatrész sikeresen létrehozva" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "Alkatrész szerkesztése" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "Alkatrész módosítva" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "Alkatrész változat létrehozása" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "Aktív alkatrész" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "Alkatrész nem törölhető mivel még aktív" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "Ezen alkatrész törlése nem vonható vissza" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "Ennek az alkatrésznek a teljes készlete törölve lesz" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "Ez az alkatrész minden alkatrészjegyzékből törölve lesz" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "Ehhez az alkatrészhez rendelt minden beszállítói és gyártói információ törölve lesz" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "Alkatrész törlése" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "Értesítések beállítva erre a tételre" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "Értesítések beállítva erre a tételre" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "Értesítések kérése erre a tételre" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "Értesítések letiltva erre a tételre" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "Az alkatrészjegyzék jóváhagyása minden sortételt jóvá fog hagyni" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "Alkatrészjegyzék jóváhagyása" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "Alkatrészjegyzék jóvá lett hagyva" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "Alkatrészjegyzék másolása" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "Alacsony készlet" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "Nincs elérhető készlet" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "Igény" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "Me" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "Virtuális alkatrész" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "Értesítésre beállított alkatrész" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "Értékesíthető alkatrész" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "Új leltár riport ütemezése." -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "Amint elkészül, az új leltár riport letölthető lesz." -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "Leltár riport létrehozása" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "Leltár riport beütemezve" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "Nincs elérhető leltár előzmény" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "Leltár bejegyzés szerkesztése" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "Leltár bejegyzés törlése" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "Nincs több változat" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "Nincs alkatrész paraméter sablon" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "Alkatrész paraméter sablon módosítása" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "Az összes erre a sablonra hivatkozó paraméter is törlésre kerül" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "Alkatrész paraméter sablon törlése" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "Nem található beszerzési rendelés" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "Ez a sortétel késésben van" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "Sortétel bevételezése" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "Alkatrész kapcsolatok törlése" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "Alkatrész kapcsolatok törlése" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "Nincs alkatrész" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "Kategória beállítása a kiválasztott alkatrészekhez" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "Alkatrész kategória beállítása" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "Kategória beállítása" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "alkatrész" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "alkatrészek" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "Nincs kategória" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "Megjelenítés listaként" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "Megjelenítés rácsnézetként" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "Nem találhatóak alkategóriák" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "Megjelenítés fában" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "Alkategóriák betöltése" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "Értesítésre beállított kategória" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "Nincs a lekérdezéssel egyező teszt sablon" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "találat" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "Teszt eredmény szerkesztése" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "Teszt eredmény törlése" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "Ez a teszt a szülő alkatrészhez lett felvéve" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "Teszt eredmény sablon szerkesztése" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "Teszt eredmény sablon törlése" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "Nincs megadva dátum" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "A megadott dátum a múltban van" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "Spekulatív" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "Az alkatrészhez nem áll rendelkezésre ütemezési információ" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "Hiba az alkatrész ütemezési információinak betöltésekor" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "Ütemezett készlet mennyiség" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "Maximum mennyiség" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "Minimális készlet" @@ -14371,4 +14396,3 @@ msgstr "Jogosultság tételek szerkesztéséhez" #: users/models.py:413 msgid "Permission to delete items" msgstr "Jogosultság tételek törléséhez" - diff --git a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po index 72c6c46971..dece834c3a 100644 --- a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Indonesian\n" @@ -64,13 +64,13 @@ msgstr "Masukkan tanggal" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "File tidak ditemukan" msgid "Missing external link" msgstr "Tautan eksternal tidak ditemukan" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "Pilih file untuk dilampirkan" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "Pilihan tidak valid" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "Pilihan tidak valid" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Nama" @@ -514,7 +514,7 @@ msgstr "Nama" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "Nama" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "Keterangan (opsional)" msgid "parent" msgstr "induk" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Direktori" @@ -589,7 +589,7 @@ msgstr "Terjadi Kesalahan Server" msgid "An error has been logged by the server." msgstr "Sebuah kesalahan telah dicatat oleh server." -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "Harus berupa angka yang valid" @@ -686,7 +686,7 @@ msgstr "URL file gambar external" msgid "Downloading images from remote URL is not enabled" msgstr "Unduhan gambar dari URL external tidak aktif" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "" @@ -750,14 +750,14 @@ msgstr "Tentang InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Pesanan harus dibatalkan sebelum dapat dihapus" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "Referensi Order Produksi" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "Produksi induk dari produksi ini" #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "Produksi induk dari produksi ini" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "Hasil produksi tidak sesuai dengan order produksi" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Jumlah harus lebih besar daripada nol" @@ -1112,7 +1112,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "Masukkan nomor seri untuk hasil pesanan" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "Item tagihan material" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "" @@ -4051,13 +4051,13 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "" @@ -4441,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5787,14 +5787,14 @@ msgstr "" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" @@ -5835,22 +5835,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -5887,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "" @@ -5997,7 +5997,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6006,7 +6006,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6021,7 +6021,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "" @@ -6214,7 +6214,7 @@ msgstr "" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" @@ -6375,7 +6375,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,288 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -6721,322 +6725,322 @@ msgstr "" msgid "Subcategories" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7187,7 +7191,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7380,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "" @@ -7448,7 +7452,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7545,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7585,7 +7589,7 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7666,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "" @@ -8633,7 +8637,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "" @@ -8706,43 +8710,47 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 +msgid "Supplier Part SKU" +msgstr "" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9066,57 @@ msgstr "" msgid "Entry notes" msgstr "" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "Lampiran perlu diunggah untuk tes ini" -#: stock/models.py:2423 +#: stock/models.py:2404 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid value for this test" +msgstr "Nilai kelebihan tidak valid" + +#: stock/models.py:2428 msgid "Test result" msgstr "" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10319,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10346,12 +10360,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10805,7 +10819,7 @@ msgid "Are you sure you want to sign out?" msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "" @@ -10919,15 +10933,19 @@ msgstr "" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "" -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +msgid "Secret: " +msgstr "" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "" @@ -11006,7 +11024,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "" @@ -11395,7 +11413,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11740,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11765,8 +11783,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11952,7 +11970,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11969,34 +11987,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12247,7 +12265,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12328,347 +12346,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14388,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po index ddb8f6b176..c759fac2f0 100644 --- a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Italian\n" @@ -64,13 +64,13 @@ msgstr "Inserisci la data" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "File mancante" msgid "Missing external link" msgstr "Link esterno mancante" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "Seleziona file da allegare" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "Scelta non valida" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "Scelta non valida" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Nome" @@ -514,7 +514,7 @@ msgstr "Nome" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "Nome" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "Descrizione (opzionale)" msgid "parent" msgstr "genitore" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Percorso" @@ -589,7 +589,7 @@ msgstr "Errore del server" msgid "An error has been logged by the server." msgstr "Un errore è stato loggato dal server." -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "Deve essere un numero valido" @@ -686,7 +686,7 @@ msgstr "URL del file immagine remota" msgid "Downloading images from remote URL is not enabled" msgstr "Il download delle immagini da URL remoto non è abilitato" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "Controllo in background non riuscito" @@ -750,14 +750,14 @@ msgstr "Informazioni Su InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "La produzione deve essere annullata prima di poter essere eliminata" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Consumabile" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "Allocato" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "Riferimento Ordine Di Produzione" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "L'output della produzione non corrisponde all'ordine di compilazione" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" @@ -1112,7 +1112,7 @@ msgstr "Crea oggetto" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "Crea oggetto" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "Inserisci i numeri di serie per gli output di compilazione (build option #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "Assegna gli elementi opzionali della distinta base all'ordine di produzi msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "Distinta base (Bom)" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "Ordinato" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "Lo stock non è stato completamente assegnato a questo ordine di produzi #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "Copia Template Parametri Categoria" msgid "Copy category parameter templates when creating a part" msgstr "Copia i modelli dei parametri categoria quando si crea un articolo" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "Quantità prezzo limite" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "Seleziona articolo" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "Seleziona Produttore" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "Nome parametro" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "Valore" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "Valore del parametro" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "Unità" @@ -4051,13 +4051,13 @@ msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "Fornitore" msgid "Select supplier" msgstr "Seleziona fornitore" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "Unità di giacenza magazzino fornitore" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "Descrizione articolo fornitore" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "Imballaggio del pezzo" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "In magazzino" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "Inattivo" @@ -4441,7 +4441,7 @@ msgstr "Nessuna informazione sul produttore disponibile" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "Nuovo Parametro" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "Nessuna informazione sul fornitore disponibile" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "Articolo Fornitore" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "Riferimento Cliente" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "Aggiornato {part} prezzo unitario a {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Aggiornato {part} unità prezzo a {price} e quantità a {qty}" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "Codice Articolo" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Nome Articolo" @@ -5787,14 +5787,14 @@ msgstr "Descrizione Articolo" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "IPN - Numero di riferimento interno" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Revisione" @@ -5835,22 +5835,22 @@ msgstr "Scorta Minima" msgid "Used In" msgstr "Utilizzato In" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "In Costruzione" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "Costo Minimo" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "Costo Massimo" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "ID principale" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "Percorso Categoria" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Articoli" @@ -5887,17 +5887,17 @@ msgstr "ID Elemento Distinta Base" msgid "Parent IPN" msgstr "IPN Principale" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "IPN Articolo" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Prezzo Minimo" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "Questa opzione deve essere selezionata" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "Categoria" @@ -5997,7 +5997,7 @@ msgstr "" msgid "Default Location" msgstr "Posizione Predefinita" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Giacenze Totali" @@ -6006,7 +6006,7 @@ msgstr "Giacenze Totali" msgid "Input quantity for price calculation" msgstr "Digita la quantità per il calcolo del prezzo" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria Articoli" @@ -6021,7 +6021,7 @@ msgstr "Categorie Articolo" msgid "Default location for parts in this category" msgstr "Posizione predefinita per gli articoli di questa categoria" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "Un articolo con questo Nome, IPN e Revisione esiste già." msgid "Parts cannot be assigned to structural part categories!" msgstr "Gli articoli non possono essere assegnati a categorie articolo principali!" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "Nome articolo" @@ -6214,7 +6214,7 @@ msgstr "" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "Ultimo Inventario" @@ -6375,7 +6375,7 @@ msgstr "Totale delle scorte disponibili al momento dell'inventario" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,290 @@ msgstr "Utente che ha richiesto questo report inventario" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "Il modello di prova può essere creato solo per gli articoli rintracciabili" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "Nome Test" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "Inserisci un nome per la prova" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "Descrizione Di Prova" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "Inserisci descrizione per questa prova" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Abilitato" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Richiesto" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "Questa prova è necessaria per passare?" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "Valore richiesto" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "Questa prova richiede un valore quando si aggiunge un risultato di prova?" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "Allegato Richiesto" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "Questa prova richiede un file allegato quando si aggiunge un risultato di prova?" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +#, fuzzy +#| msgid "Invalid choice for parent part" +msgid "Valid choices for this test (comma-separated)" +msgstr "Scelta non valida per l'articolo principale" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "Il nome del modello del parametro deve essere univoco" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "Nome Parametro" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "Descrizione del parametro" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "Articolo principale" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Modello Parametro" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "Dati" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "Valore del Parametro" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Valore Predefinito" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "Valore Parametro Predefinito" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "ID articolo o nome articolo" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "Valore ID articolo univoco" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "Valore IPN articolo" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "Livello" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "Livello distinta base" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "Seleziona articolo principale" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "Articolo subordinato" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "Seleziona l'articolo da utilizzare nella Distinta Base" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "Quantità Distinta Base per questo elemento Distinta Base" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "Questo elemento della Distinta Base è opzionale" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Questo elemento della Distinta Base è consumabile (non è tracciato negli ordini di produzione)" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Eccedenza" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantità stimata scarti di produzione (assoluta o percentuale)" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "Riferimento Elemento Distinta Base" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "Note Elemento Distinta Base" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "Codice di controllo" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "Codice di controllo Distinta Base" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Convalidato" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Questo elemento della Distinta Base viene ereditato dalle Distinte Base per gli articoli varianti" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Consenti Le Varianti" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Gli elementi in giacenza per gli articoli varianti possono essere utilizzati per questo elemento Distinta Base" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "La quantità deve essere un valore intero per gli articoli rintracciabili" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "L'articolo subordinato deve essere specificato" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "Elemento Distinta Base Sostituito" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "La parte sostituita non può essere la stessa dell'articolo principale" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "Elemento principale Distinta Base" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "Sostituisci l'Articolo" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "Articolo 1" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "Articolo 2" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "Seleziona Prodotto Relativo" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "Non si può creare una relazione tra l'articolo e sé stesso" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "La relazione duplicata esiste già" @@ -6721,322 +6727,322 @@ msgstr "La relazione duplicata esiste già" msgid "Subcategories" msgstr "Sottocategorie" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "Valuta di acquisto di questo articolo in stock" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "Articolo Originale" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "Seleziona l'articolo originale da duplicare" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "Copia immagine" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "Copia immagine dall'articolo originale" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Copia Distinta Base" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "Copia fattura dei materiali dall'articolo originale" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "Copia parametri" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "Copia i dati dei parametri dall'articolo originale" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "Quantità iniziale" -#: part/serializers.py:491 +#: part/serializers.py:492 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:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "Ubicazione Iniziale Magazzino" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "Specificare l'ubicazione iniziale del magazzino per questo Articolo" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "Seleziona il fornitore (o lascia vuoto per saltare)" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleziona il produttore (o lascia vuoto per saltare)" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "Codice articolo Produttore" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "L'azienda selezionata non è un fornitore valido" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "L'azienda selezionata non è un produttore valido" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "L'articolo del produttore che corrisponde a questo MPN esiste già" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "L'articolo del fornitore che corrisponde a questo SKU esiste già" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "Duplica articolo" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "Copia i dati iniziali da un altro Articolo" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Stock iniziale" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "Crea Articolo con quantità di scorta iniziale" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "Informazioni Fornitore" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "Aggiungi le informazioni iniziali del fornitore per questo articolo" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "Copia Parametri Categoria" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "Copia i parametri dai modelli della categoria articolo selezionata" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Limitare il report d'inventario ad un articolo particolare e a eventuali articoli varianti" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Limita il report d'inventario ad una particolare categoria articolo, e a eventuali categorie secondarie" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Limita il report d'inventario ad una particolare ubicazione di magazzino, e a eventuali ubicazioni secondarie" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "Genera Report" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "Genera file di report contenente dati di inventario calcolati" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "Aggiorna Articoli" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "Aggiorna gli articoli specificati con i dati calcolati di inventario" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "La funzione Inventario non è abilitata" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "Aggiorna" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "Aggiorna i prezzi per questo articolo" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "Seleziona l'articolo da cui copiare la distinta base" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "Rimuovi Dati Esistenti" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "Rimuovi elementi distinta base esistenti prima di copiare" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "Includi Ereditato" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "Includi gli elementi Distinta Base ereditati da prodotti template" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "Salta Righe Non Valide" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "Abilita questa opzione per saltare le righe non valide" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "Copia Articoli sostitutivi" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copia articoli sostitutivi quando duplichi gli elementi distinta base" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "Cancella Distinta Base esistente" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "Rimuovi elementi distinta base esistenti prima del caricamento" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "Nessuna colonna articolo specificata" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "Trovati più articoli corrispondenti" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "Nessun articolo corrispondente trovato" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "L'articolo non è indicato come componente" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "Quantità non fornita" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "Quantità non valida" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "Almeno un elemento della distinta base è richiesto" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "Quantità Totale" @@ -7187,7 +7193,7 @@ msgid "Add stocktake information" msgstr "Aggiungi informazioni inventario" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7382,7 @@ msgstr "Conta articoli magazzino" msgid "Transfer part stock" msgstr "Trasferisci giacenza" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "Azioni articolo" @@ -7448,7 +7454,7 @@ msgid "Minimum stock level" msgstr "Livello minimo di giacenza" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7547,8 @@ msgstr "Varianti" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Magazzino" @@ -7585,7 +7591,7 @@ msgstr "" msgid "Edit" msgstr "Modifica" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7668,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "Nessuna giacenza" @@ -8633,7 +8639,7 @@ msgstr "Risultati Test" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "Risultato" @@ -8706,43 +8712,49 @@ msgid "Supplier Part ID" msgstr "ID Articolo Fornitore" #: stock/admin.py:185 +#, fuzzy +#| msgid "Supplier Part" +msgid "Supplier Part SKU" +msgstr "Articolo Fornitore" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "ID Fornitore" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "Nome Fornitore" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "ID Cliente" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Installato In" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "ID Costruttore" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "ID Ordine Vendita" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "ID Ordine D'acquisto" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "Revisione Necessaria" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "Elimina al esaurimento" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9070,57 @@ msgstr "Le giacenze non possono essere spostate perché non disponibili" msgid "Entry notes" msgstr "Note d'ingresso" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "Il valore deve essere fornito per questo test" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "L'allegato deve essere caricato per questo test" -#: stock/models.py:2423 +#: stock/models.py:2404 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid value for this test" +msgstr "Valore non valido per eccedenza" + +#: stock/models.py:2428 msgid "Test result" msgstr "Risultato Test" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "Test valore output" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "Risultato della prova allegato" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "Note del test" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10323,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "Elimina" @@ -10346,12 +10364,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10805,7 +10823,7 @@ msgid "Are you sure you want to sign out?" msgstr "Sei sicuro di voler uscire?" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "Ritorna al Sito" @@ -10919,15 +10937,21 @@ msgstr "Passaggio 1" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "Scansiona il codice QR qui sotto con un generatore di token di tua scelta (per esempio Google Authenticator)." -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +#, fuzzy +#| msgid "Secret" +msgid "Secret: " +msgstr "Segreto" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "Passaggio 2" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "Inserisci un token generato dall'app:" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "Verifica" @@ -11006,7 +11030,7 @@ msgid "Click on the following link to view this part" msgstr "Clicca il seguente link per visualizzare questo articolo" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "Quantità minima" @@ -11395,7 +11419,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11746,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11765,8 +11789,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11952,7 +11976,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11969,34 +11993,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12247,7 +12271,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12328,347 +12352,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14394,3 @@ msgstr "Permessi per modificare gli elementi" #: users/models.py:413 msgid "Permission to delete items" msgstr "Autorizzazione ad eliminare gli elementi" - diff --git a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po index 5efbf111cc..b2fc3b1afc 100644 --- a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-05 12:39\n" "Last-Translator: \n" "Language-Team: Japanese\n" @@ -64,13 +64,13 @@ msgstr "日付を入力する" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "ファイルがありません" msgid "Missing external link" msgstr "外部リンクが見つかりません。" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "添付ファイルを選択" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "無効な選択です" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "無効な選択です" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "お名前" @@ -514,7 +514,7 @@ msgstr "お名前" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "お名前" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "説明 (オプション)" msgid "parent" msgstr "親" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" @@ -589,7 +589,7 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" @@ -686,7 +686,7 @@ msgstr "外部画像ファイルのURL" msgid "Downloading images from remote URL is not enabled" msgstr "外部URLからの画像ダウンロードは許可されていません" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "バックグラウンドワーカーのチェックに失敗しました" @@ -750,14 +750,14 @@ msgstr "InvenTree について" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "" #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1112,7 +1112,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "" @@ -4051,13 +4051,13 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "仕入先" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "" @@ -4441,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "新規パラメータ" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5787,14 +5787,14 @@ msgstr "" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" @@ -5835,22 +5835,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "パーツ" @@ -5887,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "カテゴリ" @@ -5997,7 +5997,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6006,7 +6006,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "パーツカテゴリ" @@ -6021,7 +6021,7 @@ msgstr "パーツカテゴリ" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "" @@ -6214,7 +6214,7 @@ msgstr "" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" @@ -6375,7 +6375,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,288 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -6721,322 +6725,322 @@ msgstr "" msgid "Subcategories" msgstr "サブカテゴリ" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "カテゴリを選択" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7187,7 +7191,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7380,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "" @@ -7448,7 +7452,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7545,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "在庫" @@ -7585,7 +7589,7 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7666,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "在庫切れ" @@ -8633,7 +8637,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "" @@ -8706,43 +8710,49 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 +#, fuzzy +#| msgid "Supplier Parts" +msgid "Supplier Part SKU" +msgstr "サプライヤー・パーツ" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9068,57 @@ msgstr "" msgid "Entry notes" msgstr "" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2404 +#, fuzzy +#| msgid "Invalid value" +msgid "Invalid value for this test" +msgstr "無効な値です。" + +#: stock/models.py:2428 msgid "Test result" msgstr "" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10321,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10346,12 +10362,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10805,7 +10821,7 @@ msgid "Are you sure you want to sign out?" msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "" @@ -10919,15 +10935,19 @@ msgstr "" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "" -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +msgid "Secret: " +msgstr "" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "" @@ -11006,7 +11026,7 @@ msgid "Click on the following link to view this part" msgstr "このパーツを表示するには、次のリンクをクリックしてください" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "最小在庫" @@ -11395,7 +11415,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11742,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11765,8 +11785,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11952,7 +11972,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11969,34 +11989,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12247,7 +12267,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12328,347 +12348,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14390,3 @@ msgstr "項目を編集する権限" #: users/models.py:413 msgid "Permission to delete items" msgstr "項目を削除する権限" - diff --git a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po index 5792eb553f..4ae0423ceb 100644 --- a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Korean\n" @@ -64,13 +64,13 @@ msgstr "" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" @@ -514,7 +514,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" @@ -589,7 +589,7 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "" @@ -686,7 +686,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "" @@ -750,14 +750,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "" #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1112,7 +1112,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "" @@ -4051,13 +4051,13 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "" @@ -4441,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5787,14 +5787,14 @@ msgstr "" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" @@ -5835,22 +5835,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -5887,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "" @@ -5997,7 +5997,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6006,7 +6006,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6021,7 +6021,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "" @@ -6214,7 +6214,7 @@ msgstr "" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" @@ -6375,7 +6375,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,288 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -6721,322 +6725,322 @@ msgstr "" msgid "Subcategories" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7187,7 +7191,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7380,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "" @@ -7448,7 +7452,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7545,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7585,7 +7589,7 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7666,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "" @@ -8633,7 +8637,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "" @@ -8706,43 +8710,47 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 +msgid "Supplier Part SKU" +msgstr "" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9066,55 @@ msgstr "" msgid "Entry notes" msgstr "" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2404 +msgid "Invalid value for this test" +msgstr "" + +#: stock/models.py:2428 msgid "Test result" msgstr "" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10317,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10346,12 +10358,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10805,7 +10817,7 @@ msgid "Are you sure you want to sign out?" msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "" @@ -10919,15 +10931,19 @@ msgstr "" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "" -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +msgid "Secret: " +msgstr "" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "" @@ -11006,7 +11022,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "" @@ -11395,7 +11411,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11738,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11765,8 +11781,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11952,7 +11968,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11969,34 +11985,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12247,7 +12263,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12328,347 +12344,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14386,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po index 1b5170c619..80d49ab82f 100644 --- a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Latvian\n" @@ -64,13 +64,13 @@ msgstr "Ievadiet datumu" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" @@ -514,7 +514,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" @@ -589,7 +589,7 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "" @@ -686,7 +686,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "" @@ -750,14 +750,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "" #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1112,7 +1112,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "" @@ -4051,13 +4051,13 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "" @@ -4441,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5787,14 +5787,14 @@ msgstr "" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" @@ -5835,22 +5835,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -5887,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "" @@ -5997,7 +5997,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6006,7 +6006,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6021,7 +6021,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "" @@ -6214,7 +6214,7 @@ msgstr "" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" @@ -6375,7 +6375,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,288 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -6721,322 +6725,322 @@ msgstr "" msgid "Subcategories" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7187,7 +7191,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7380,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "" @@ -7448,7 +7452,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7545,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7585,7 +7589,7 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7666,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "" @@ -8633,7 +8637,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "" @@ -8706,43 +8710,47 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 +msgid "Supplier Part SKU" +msgstr "" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9066,55 @@ msgstr "" msgid "Entry notes" msgstr "" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2404 +msgid "Invalid value for this test" +msgstr "" + +#: stock/models.py:2428 msgid "Test result" msgstr "" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10317,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10346,12 +10358,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10805,7 +10817,7 @@ msgid "Are you sure you want to sign out?" msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "" @@ -10919,15 +10931,19 @@ msgstr "" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "" -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +msgid "Secret: " +msgstr "" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "" @@ -11006,7 +11022,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "" @@ -11395,7 +11411,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11738,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11765,8 +11781,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11952,7 +11968,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11969,34 +11985,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12247,7 +12263,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12328,347 +12344,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14386,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po index 1e18139c11..5b2449f70d 100644 --- a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Dutch\n" @@ -64,13 +64,13 @@ msgstr "Voer datum in" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "Ontbrekend bestand" msgid "Missing external link" msgstr "Externe link ontbreekt" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "Bestand als bijlage selecteren" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "Ongeldige keuze" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "Ongeldige keuze" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Naam" @@ -514,7 +514,7 @@ msgstr "Naam" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "Naam" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "Omschrijving (optioneel)" msgid "parent" msgstr "bovenliggende" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Pad" @@ -589,7 +589,7 @@ msgstr "Serverfout" msgid "An error has been logged by the server." msgstr "Er is een fout gelogd door de server." -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" @@ -686,7 +686,7 @@ msgstr "URL van extern afbeeldingsbestand" msgid "Downloading images from remote URL is not enabled" msgstr "Afbeeldingen van externe URL downloaden is niet ingeschakeld" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "Achtergrondwerker check is gefaald" @@ -750,14 +750,14 @@ msgstr "Over InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Verbruiksartikelen" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "Toegewezen" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "Productieorderreferentie" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "Productuitvoer komt niet overeen met de Productieorder" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" @@ -1112,7 +1112,7 @@ msgstr "Bouw object" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "Bouw object" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "Voer serienummers in voor productieuitvoeren" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "Alloceer optionele BOM items om bestelling te bouwen" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "Stuklijstartikel" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "In bestelling" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "Voorraad is niet volledig toegewezen aan deze productieorder" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "Kopiëer Categorieparameter Sjablonen" msgid "Copy category parameter templates when creating a part" msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "Onderdeel selecteren" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "Fabrikant selecteren" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "Parameternaam" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "Waarde" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "Parameterwaarde" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "Eenheden" @@ -4051,13 +4051,13 @@ msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderd #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "Leverancier" msgid "Select supplier" msgstr "Leverancier selecteren" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimale kosten (bijv. voorraadkosten)" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "" @@ -4441,7 +4441,7 @@ msgstr "Geen fabrikanten informatie beschikbaar" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "Nieuwe Parameter" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "Geen leveranciersinformatie beschikbaar" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "Leveranciersonderdeel" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "Klantreferentie" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "{part} stukprijs bijgewerkt naar {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} stukprijs bijgewerkt naar {price} en aantal naar {qty}" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "Onderdeel-id" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Onderdeel naam" @@ -5787,14 +5787,14 @@ msgstr "Onderdeel omschrijving" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" @@ -5835,22 +5835,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Onderdelen" @@ -5887,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "" @@ -5997,7 +5997,7 @@ msgstr "" msgid "Default Location" msgstr "Standaard locatie" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Totale Voorraad" @@ -6006,7 +6006,7 @@ msgstr "Totale Voorraad" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Onderdeel Categorie" @@ -6021,7 +6021,7 @@ msgstr "Onderdeel Categorieën" msgid "Default location for parts in this category" msgstr "Standaard locatie voor onderdelen in deze categorie" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "Onderdeel naam" @@ -6214,7 +6214,7 @@ msgstr "" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" @@ -6375,7 +6375,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,288 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Ingeschakeld" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "De template van de parameter moet uniek zijn" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "Parameternaam" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "Parameterwaarde" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "Standaard Parameter Waarde" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -6721,322 +6725,322 @@ msgstr "" msgid "Subcategories" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "Geen onderdelen geselecteerd" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "Afbeelding kopiëren" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "Afbeelding kopiëren van het oorspronkelijke onderdeel" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "Parameters kopiëren" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "Parameter data kopiëren van het originele onderdeel" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "Ongeldige hoeveelheid" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7187,7 +7191,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7380,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "" @@ -7448,7 +7452,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7545,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Voorraad" @@ -7585,7 +7589,7 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7666,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "" @@ -8633,7 +8637,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "" @@ -8706,43 +8710,49 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 +#, fuzzy +#| msgid "Supplier Part" +msgid "Supplier Part SKU" +msgstr "Leveranciersonderdeel" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9068,57 @@ msgstr "" msgid "Entry notes" msgstr "" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2404 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid value for this test" +msgstr "Ongeldige waarde voor overschot" + +#: stock/models.py:2428 msgid "Test result" msgstr "" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10321,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "Verwijderen" @@ -10346,12 +10362,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10805,7 +10821,7 @@ msgid "Are you sure you want to sign out?" msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "" @@ -10919,15 +10935,21 @@ msgstr "" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "" -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +#, fuzzy +#| msgid "Secret" +msgid "Secret: " +msgstr "Geheim" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "" @@ -11006,7 +11028,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "" @@ -11395,7 +11417,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11744,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11765,8 +11787,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11952,7 +11974,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11969,34 +11991,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12247,7 +12269,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12328,347 +12350,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14392,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po index 9d4bb07021..9976658170 100644 --- a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Norwegian\n" @@ -64,13 +64,13 @@ msgstr "Oppgi dato" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "Fil mangler" msgid "Missing external link" msgstr "Mangler eksternlenke" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "Velg fil å legge ved" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "Ugyldig valg" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "Ugyldig valg" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Navn" @@ -514,7 +514,7 @@ msgstr "Navn" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "Navn" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "Beskrivelse (valgfritt)" msgid "parent" msgstr "overkategori" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Sti" @@ -589,7 +589,7 @@ msgstr "Serverfeil" msgid "An error has been logged by the server." msgstr "En feil har blitt logget av serveren." -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "Må være et gyldig tall" @@ -686,7 +686,7 @@ msgstr "URLtil ekstern bildefil" msgid "Downloading images from remote URL is not enabled" msgstr "Nedlasting av bilder fra ekstern URL er ikke aktivert" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "Sjekk av bakgrunnsarbeider mislyktes" @@ -750,14 +750,14 @@ msgstr "Om InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Produksjonen må avbrytes før den kan slettes" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Forbruksvare" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "Tildelt" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "Produksjonsordre-referanse" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "Produksjonsordre som denne produksjonen er tildelt" #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "Produksjonsordre som denne produksjonen er tildelt" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "Produksjonsartikkelen samsvarer ikke med produksjonsordren" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" @@ -1112,7 +1112,7 @@ msgstr "Produksjonsobjekt" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "Produksjonsobjekt" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "Angi serienummer for produksjonsartikler" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "Tildel valgfrie BOM-artikler til produksjonsordre" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "BOM-artikkel" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "Tildelt lagerbeholdning" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "I bestilling" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "I produksjon" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "Lagerbeholdning er ikke fullt tildelt til denne Produksjonsordren" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "Kopier designmaler for kategoriparametere" msgid "Copy category parameter templates when creating a part" msgstr "Kopier parametermaler for kategori ved oppretting av en del" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "Antall for prisbrudd" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "Velg del" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "Velg produsent" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "Parameternavn" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "Verdi" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "Parameterverdi" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "Enheter" @@ -4051,13 +4051,13 @@ msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "Leverandør" msgid "Select supplier" msgstr "Velg leverandør" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "Leverandørens lagerbeholdningsenhet" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "Leverandørens delbeskrivelse" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimum betaling (f.eks. lageravgift)" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "Delemballasje" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "På lager" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "Inaktiv" @@ -4441,7 +4441,7 @@ msgstr "Ingen produsentinformasjon tilgjengelig" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "Nytt Parameter" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "Ingen leverandørinformasjon tilgjengelig" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "Leverandørdel" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "Kundereferanse" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "Oppdaterte {part} enhetspris to {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Oppdaterte {part} enhetspris til {price} og antall til {qty}" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "Del-ID" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Delnavn" @@ -5787,14 +5787,14 @@ msgstr "Delbeskrivelse" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Revisjon" @@ -5835,22 +5835,22 @@ msgstr "Minimal lagerbeholdning" msgid "Used In" msgstr "Brukt i" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "Produseres" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "Minimal kostnad" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "Maksimal kostnad" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "Overordnet ID" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "Sti til kategori" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Deler" @@ -5887,17 +5887,17 @@ msgstr "BOM artikkel-ID" msgid "Parent IPN" msgstr "Overodnet IPN" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "Del -IPN" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Minstepris" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "Dette alternativet må være valgt" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "Kategori" @@ -5997,7 +5997,7 @@ msgstr "" msgid "Default Location" msgstr "Standard plassering" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Total lagerbeholdning" @@ -6006,7 +6006,7 @@ msgstr "Total lagerbeholdning" msgid "Input quantity for price calculation" msgstr "Sett inn antall for prisberegning" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Delkategori" @@ -6021,7 +6021,7 @@ msgstr "Delkategorier" msgid "Default location for parts in this category" msgstr "Standardplassering for deler i denne kategorien" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "Del med dette Navnet, internt delnummer og Revisjon eksisterer allerede. msgid "Parts cannot be assigned to structural part categories!" msgstr "Deler kan ikke tilordnes strukturelle delkategorier!" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "Delnavn" @@ -6214,7 +6214,7 @@ msgstr "Eier ansvarlig for denne delen" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "Siste lagertelling" @@ -6375,7 +6375,7 @@ msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,290 @@ msgstr "Bruker som forespurte varetellingsrapporten" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "Valg må være unike" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "Testmaler kan bare bli opprettet for sporbare deler" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "Testnavn" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "Angi et navn for testen" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "Testbeskrivelse" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "Legg inn beskrivelse for denne testen" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Aktivert" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Påkrevd" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "Er det påkrevd at denne testen bestås?" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "Krever verdi" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "Krever denne testen en verdi når det legges til et testresultat?" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "Krever vedlegg" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "Krever denne testen et filvedlegg når du legger inn et testresultat?" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "Valg" + +#: part/models.py:3575 +#, fuzzy +#| msgid "Valid choices for this parameter (comma-separated)" +msgid "Valid choices for this test (comma-separated)" +msgstr "Gyldige valg for denne parameteren (kommaseparert)" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "Sjekkboksparameter kan ikke ha enheter" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "Sjekkboksparameter kan ikke ha valg" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "Valg må være unike" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "Navn på parametermal må være unikt" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "Parameternavn" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "Fysisk enheter for denne parameteren" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "Parameterbeskrivelse" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "Sjekkboks" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "Er dette parameteret en sjekkboks?" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "Valg" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "Gyldige valg for denne parameteren (kommaseparert)" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "Ugyldig valg for parameterverdi" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "Overordnet del" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Parametermal" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "Parameterverdi" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Standardverdi" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "Standard Parameterverdi" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "Del-ID eller delnavn" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "Unik del-ID-verdi" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "Delens interne delnummerverdi" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "Nivå" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "BOM-nivå" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "Velg overordnet del" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "Underordnet del" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "Velg del som skal brukes i BOM" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "BOM-antall for denne BOM-artikkelen" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "Denne BOM-artikkelen er valgfri" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Denne BOM-artikkelen er forbruksvare (den spores ikke i produksjonsordrer)" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Svinn" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Forventet produksjonssvinn (absolutt eller prosent)" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "BOM-artikkelreferanse" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "BOM-artikkelnotater" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "Kontrollsum" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "BOM-linje kontrollsum" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Godkjent" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "Denne BOM-artikkelen er godkjent" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "Arves" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Denne BOM-artikkelen er arvet fra stykkliste for variantdeler" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Tillat Varianter" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Lagervarer for variantdeler kan brukes for denne BOM-artikkelen" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "Antall må være heltallsverdi for sporbare deler" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "Underordnet del må angis" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "BOM-artikkel erstatning" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "Erstatningsdel kan ikke være samme som hoveddelen" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "Overordnet BOM-artikkel" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "Erstatningsdel" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "Del 1" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "Del 2" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "Velg relatert del" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "Del-forhold kan ikke opprettes mellom en del og seg selv" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "Duplikatforhold eksisterer allerede" @@ -6721,322 +6727,322 @@ msgstr "Duplikatforhold eksisterer allerede" msgid "Subcategories" msgstr "Underkategorier" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "Innkjøpsvaluta for lagervaren" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "Ingen deler valgt" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "Velg kategori" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "Original Del" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "Velg original del å duplisere" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "Kopier Bilde" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "Kopier bilde fra originaldel" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Kopier Stykkliste" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "Kopier stykkliste fra original del" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "Kopier parametere" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "Kopier parameterdata fra originaldel" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "Kopier notater" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "Kopier notater fra originaldel" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:491 +#: part/serializers.py:492 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:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "Innledende lagerplassering" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "Angi initiell lagerplasering for denne delen" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "Velg leverandør (eller la stå tom for å hoppe over)" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "Velg produsent (eller la stå tom for å hoppe over)" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "Produsentens delenummer" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "Valgt firma er ikke en gyldig leverandør" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "Valgt firma er ikke en gyldig produsent" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "Produsentdel som matcher dette MPN-et, finnes allerede" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "Leverandørdel som matcher denne SKU-en, finnes allerede" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "Dupliser del" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "Kopier innledende data fra en annen del" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "Lag en del med innledende lagermengde" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "Leverandøropplysninger" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "Legg til innledende leverandørinformasjon for denne delen" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "Kopier kategoriparametre" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "Kopier parametermaler fra valgt delkategori" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "Eksisterende bilde" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "Filnavn for et eksisterende del-bilde" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "Bildefilen finnes ikke" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Begrens lagerbeholdningsrapport til en bestemt del og enhver variant av delen" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Begrens lagerbeholdningsrapport til en bestemt delkategori og alle underkategorier" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Begrens lagerbeholdningsrapport til en bestemt plasering og eventuelle underplasseringer" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "Ekskluder ekstern lagerbeholdning" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "Ekskluder lagervarer i eksterne lokasjoner" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "Generer rapport" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "Genererer rapport som inneholder beregnede lagerdata" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "Oppdater deler" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "Oppdater spesifiserte deler med beregnede lagerbeholdningsdata" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "Lagerbeholdningsfunksjonalitet er ikke aktivert" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "Overstyr beregnet verdi for minimumspris" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "Valuta for minstepris" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "Overstyr beregnet verdi for maksimal pris" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "Valuta for maksimal pris" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "Oppdater" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "Oppdater priser for denne delen" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, 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:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "Minsteprisen kan ikke være større enn maksimal pris" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "Maksimal pris kan ikke være mindre enn minstepris" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "Velg del å kopiere BOM fra" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "Fjern eksisterende data" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "Fjern eksisterende BOM-artikler før kopiering" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "Inkluder arvede" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "Inkluder BOM-artikler som er arvet fra maldeler" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "Hopp over ugyldige rader" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "Aktiver dette alternativet for å hoppe over ugyldige rader" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "Kopier erstatningsdeler" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopier erstatningsdeler når BOM-elementer dupliseres" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "Nullstill eksisterende BOM" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "Fjern eksisterende BOM-artikler før opplastning" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "Ingen del-kolonne angitt" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "Flere samsvarende deler funnet" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "Ingen samsvarende del funnet" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "Delen er ikke betegnet som en komponent" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "Antall ikke oppgitt" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "Ugyldig antall" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "Minst en BOM-artikkel kreves" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "Totalt Antall" @@ -7187,7 +7193,7 @@ msgid "Add stocktake information" msgstr "Legg til lagertellingsinformasjon" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7382,7 @@ msgstr "Tell delbeholdning" msgid "Transfer part stock" msgstr "Overfør delbeholdning" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "Delhandlinger" @@ -7448,7 +7454,7 @@ msgid "Minimum stock level" msgstr "Minimalt lagerbeholdningsnivå" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7547,8 @@ msgstr "Varianter" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Lagerbeholdning" @@ -7585,7 +7591,7 @@ msgstr "Overstyr delprising" msgid "Edit" msgstr "Rediger" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7668,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "Ingen lagerbeholdning" @@ -8633,7 +8639,7 @@ msgstr "Testresultater" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "Resultat" @@ -8706,43 +8712,49 @@ msgid "Supplier Part ID" msgstr "Leverandørdel-ID" #: stock/admin.py:185 +#, fuzzy +#| msgid "Supplier Part" +msgid "Supplier Part SKU" +msgstr "Leverandørdel" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "Leverandør-ID" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "Leverandørnavn" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "Kunde-ID" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Installert i" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "Produksjons-ID" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "Salgsordre-ID" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "Innkjøpsordre-ID" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "Gjennomgang kreves" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "Slett når oppbrukt" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9070,57 @@ msgstr "Lagervare kan ikke flyttes fordi den ikke er på lager" msgid "Entry notes" msgstr "Oppføringsnotater" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "Verdi må angis for denne testen" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "Vedlegg må lastes opp for denne testen" -#: stock/models.py:2423 +#: stock/models.py:2404 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid value for this test" +msgstr "Ugyldig verdi for svinn" + +#: stock/models.py:2428 msgid "Test result" msgstr "Testresultat" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "Testens verdi" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "Vedlegg til testresultat" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "Testnotater" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10323,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "Slett" @@ -10346,12 +10364,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10805,7 +10823,7 @@ msgid "Are you sure you want to sign out?" msgstr "Er du sikker på at du vil logge ut?" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "Gå tilbake til siden" @@ -10919,15 +10937,21 @@ msgstr "Trinn 1" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "Skann QR-koden nedenfor med en symbolgenerator du velger (for eksempel Google Authenticator)." -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +#, fuzzy +#| msgid "Secret" +msgid "Secret: " +msgstr "Hemmelig" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "Trinn 2" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "Angi et symbol generert av appen:" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "Bekreft" @@ -11006,7 +11030,7 @@ msgid "Click on the following link to view this part" msgstr "Klikk på følgende lenke for å se denne delen" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "Minimum antall" @@ -11395,7 +11419,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11746,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11765,8 +11789,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11952,7 +11976,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11969,34 +11993,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12247,7 +12271,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12328,347 +12352,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14394,3 @@ msgstr "Tillatelse til å endre elementer" #: users/models.py:413 msgid "Permission to delete items" msgstr "Tillatelse til å slette elementer" - diff --git a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po index 0cbe997651..df14385e6f 100644 --- a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Polish\n" @@ -64,13 +64,13 @@ msgstr "Wprowadź dane" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "Brak pliku" msgid "Missing external link" msgstr "Brak zewnętrznego odnośnika" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "Wybierz plik do załączenia" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "Błędny wybór" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "Błędny wybór" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Nazwa" @@ -514,7 +514,7 @@ msgstr "Nazwa" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "Nazwa" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "Opis (opcjonalny)" msgid "parent" msgstr "nadrzędny" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Ścieżka" @@ -589,7 +589,7 @@ msgstr "Błąd serwera" msgid "An error has been logged by the server." msgstr "Błąd został zapisany w logach serwera." -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" @@ -686,7 +686,7 @@ msgstr "Adres URL zdalnego pliku obrazu" msgid "Downloading images from remote URL is not enabled" msgstr "Pobieranie obrazów ze zdalnego URL nie jest włączone" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "Sprawdzenie robotnika w tle nie powiodło się" @@ -750,14 +750,14 @@ msgstr "O InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Kompilacja musi zostać anulowana, zanim będzie mogła zostać usunięta" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Materiał eksploatacyjny" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "Przydzielono" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "Odwołanie do zamówienia wykonania" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "Skompilowane dane wyjściowe nie pasują do kolejności kompilacji" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" @@ -1112,7 +1112,7 @@ msgstr "Zbuduj obiekt" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "Zbuduj obiekt" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "Element BOM" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "W Zamówieniu" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "W produkcji" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "Wybierz część" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "Wybierz producenta" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "Wartość" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "Jednostki" @@ -4051,13 +4051,13 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "Dostawca" msgid "Select supplier" msgstr "Wybierz dostawcę" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "Opakowanie części" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "Na stanie" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "Nieaktywny" @@ -4441,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "Nowy parametr" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "ID komponentu" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Nazwa komponentu" @@ -5787,14 +5787,14 @@ msgstr "" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Wersja" @@ -5835,22 +5835,22 @@ msgstr "Minimalny stan magazynowy" msgid "Used In" msgstr "Użyte w" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "Ścieżka kategorii" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Części" @@ -5887,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "IPN komponentu" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "Ta opcja musi być zaznaczona" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "Kategoria" @@ -5997,7 +5997,7 @@ msgstr "" msgid "Default Location" msgstr "Domyślna lokalizacja" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6006,7 +6006,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Kategoria komponentu" @@ -6021,7 +6021,7 @@ msgstr "Kategorie części" msgid "Default location for parts in this category" msgstr "Domyślna lokalizacja dla komponentów w tej kategorii" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "Nazwa komponentu" @@ -6214,7 +6214,7 @@ msgstr "" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "Ostatnia inwentaryzacja" @@ -6375,7 +6375,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,290 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "Nazwa testu" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "Testowy opis" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "Wprowadź opis do tego testu" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Aktywne" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Wymagane" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "Wymaga wartości" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "Wymaga załącznika" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +#, fuzzy +#| msgid "Invalid choice for parent part" +msgid "Valid choices for this test (comma-separated)" +msgstr "Nieprawidłowy wybór dla części nadrzędnej" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "Część nadrzędna" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "Dane" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "Wartość parametru" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Wartość domyślna" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "Unikalny wartość ID komponentu" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "Wartość IPN części" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "Poziom" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "Wybierz część nadrzędną" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "Podczęść" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "Ten element BOM jest opcjonalny" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "Notatki pozycji BOM" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "Suma kontrolna" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Zatwierdzone" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Zezwalaj na warianty" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "Część zastępcza" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "Część 1" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "Część 2" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "Wybierz powiązaną część" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -6721,322 +6727,322 @@ msgstr "" msgid "Subcategories" msgstr "Podkategorie" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "Waluta zakupu tego towaru" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "Kopiuj obraz" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Kopiuj BOM" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "Kopiuj parametry" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "Duplikuj część" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "Usuń istniejące dane" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "Pomiń nieprawidłowe wiersze" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "Włącz tę opcję, aby pominąć nieprawidłowe wiersze" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "Wyczyść istniejący BOM" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "Nie podano ilości" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "Nieprawidłowa ilość" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7187,7 +7193,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7382,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "" @@ -7448,7 +7454,7 @@ msgid "Minimum stock level" msgstr "Minimalny poziom stanu magazynowego" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7547,8 @@ msgstr "Warianty" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Stan" @@ -7585,7 +7591,7 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7668,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "Brak w magazynie" @@ -8633,7 +8639,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "Wynik" @@ -8706,43 +8712,49 @@ msgid "Supplier Part ID" msgstr "ID części dostawcy" #: stock/admin.py:185 +#, fuzzy +#| msgid "Supplier Part ID" +msgid "Supplier Part SKU" +msgstr "ID części dostawcy" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Zainstalowane w" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "ID zlecenia zakupu" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9070,57 @@ msgstr "" msgid "Entry notes" msgstr "Notatki do wpisu" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "Należy podać wartość dla tego testu" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2404 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid value for this test" +msgstr "Nieprawidłowa wartość przedawnienia" + +#: stock/models.py:2428 msgid "Test result" msgstr "Wynik testu" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10323,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "Usuń" @@ -10346,12 +10364,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10805,7 +10823,7 @@ msgid "Are you sure you want to sign out?" msgstr "Jesteś pewien, że chcesz się wylogować?" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "" @@ -10919,15 +10937,21 @@ msgstr "Krok 1" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "Zeskanuj poniższy kod QR za pomocą wybranego przez Ciebie generatora tokenów (np. Google Authenticator)." -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +#, fuzzy +#| msgid "Secret" +msgid "Secret: " +msgstr "Sekret" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "Krok 2" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "Wprowadź token wygenerowany przez aplikację:" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "Zweryfikuj" @@ -11006,7 +11030,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "Minimalna ilość" @@ -11395,7 +11419,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11746,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11765,8 +11789,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11952,7 +11976,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11969,34 +11993,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12247,7 +12271,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12328,347 +12352,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14394,3 @@ msgstr "Uprawnienie do edycji przedmiotów" #: users/models.py:413 msgid "Permission to delete items" msgstr "Uprawnienie do usuwania przedmiotów" - diff --git a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po index dc837cef86..420958f093 100644 --- a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" @@ -64,13 +64,13 @@ msgstr "" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" @@ -514,7 +514,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" @@ -589,7 +589,7 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "" @@ -686,7 +686,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "" @@ -750,14 +750,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "" #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1112,7 +1112,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "" @@ -4051,13 +4051,13 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "" @@ -4441,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5787,14 +5787,14 @@ msgstr "" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" @@ -5835,22 +5835,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -5887,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "" @@ -5997,7 +5997,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6006,7 +6006,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6021,7 +6021,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "" @@ -6214,7 +6214,7 @@ msgstr "" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" @@ -6375,7 +6375,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,288 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -6721,322 +6725,322 @@ msgstr "" msgid "Subcategories" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7187,7 +7191,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7380,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "" @@ -7448,7 +7452,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7545,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7585,7 +7589,7 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7666,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "" @@ -8633,7 +8637,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "" @@ -8706,43 +8710,47 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 +msgid "Supplier Part SKU" +msgstr "" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9066,55 @@ msgstr "" msgid "Entry notes" msgstr "" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2404 +msgid "Invalid value for this test" +msgstr "" + +#: stock/models.py:2428 msgid "Test result" msgstr "" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10317,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10346,12 +10358,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10805,7 +10817,7 @@ msgid "Are you sure you want to sign out?" msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "" @@ -10919,15 +10931,19 @@ msgstr "" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "" -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +msgid "Secret: " +msgstr "" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "" @@ -11006,7 +11022,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "" @@ -11395,7 +11411,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11738,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11765,8 +11781,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11952,7 +11968,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11969,34 +11985,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12247,7 +12263,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12328,347 +12344,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14386,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po index 5bc1c0205b..d5c5d43b19 100644 --- a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Russian\n" @@ -64,13 +64,13 @@ msgstr "Введите дату" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "Файл не найден" msgid "Missing external link" msgstr "Отсутствует внешняя ссылка" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "Выберите файл для вложения" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "Неверный выбор" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "Неверный выбор" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Название" @@ -514,7 +514,7 @@ msgstr "Название" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "Название" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "Описание (необязательно)" msgid "parent" msgstr "родитель" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Путь" @@ -589,7 +589,7 @@ msgstr "Ошибка сервера" msgid "An error has been logged by the server." msgstr "Сервер зарегистрировал ошибку." -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "Должно быть действительным номером" @@ -686,7 +686,7 @@ msgstr "ССЫЛКА файла изображения на удаленном msgid "Downloading images from remote URL is not enabled" msgstr "Загрузка изображений с удаленного URL-адреса не включена" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "Проверка фонового работника не удалась" @@ -750,14 +750,14 @@ msgstr "О программе InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Заказ на производство должен быть отменен перед удалением" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Расходники" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "Зарезервировано" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "Ссылка на заказ на производство" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "Заказ на производство, которому принад #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "Заказ на производство, которому принад #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "Продукция не совпадает с заказом на про #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" @@ -1112,7 +1112,7 @@ msgstr "Объект производства" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "Объект производства" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "Введите серийные номера для продукции" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "Зарезервировать необязательные позици msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "Позиция BOM" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "Зарезервированные Запасы" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "В заказе" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "В производстве" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "Остатки не были полностью зарезервиров #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "Скопировать параметры по шаблону катег msgid "Copy category parameter templates when creating a part" msgstr "Копировать параметры по шаблону категории при создании детали" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "Выберите деталь" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "Выберите производителя" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "Наименование параметра" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "Значение" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "Значение параметра" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "Ед.изм" @@ -4051,13 +4051,13 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "Поставщик" msgid "Select supplier" msgstr "Выберите поставщика" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "Код поставщика" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "Упаковка детали" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "На складе" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "Неактивный" @@ -4441,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "Новый параметр" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "Добавить параметр" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "Деталь поставщика" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "Код детали" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Наименование детали" @@ -5787,14 +5787,14 @@ msgstr "Описание детали" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Ревизия" @@ -5835,22 +5835,22 @@ msgstr "Минимальный запас" msgid "Used In" msgstr "Используется в" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "Производится" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "Минимальная Стоимость" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "Максимальная Стоимость" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "ID родителя" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "Путь к категории" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Детали" @@ -5887,17 +5887,17 @@ msgstr "ID Элемента BOM" msgid "Parent IPN" msgstr "Родительский IPN" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "IPN детали" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Минимальная цена" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "Необходимо выбрать эту опцию" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "Категория" @@ -5997,7 +5997,7 @@ msgstr "" msgid "Default Location" msgstr "Место хранения по умолчанию" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Общий запас" @@ -6006,7 +6006,7 @@ msgstr "Общий запас" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Категория детали" @@ -6021,7 +6021,7 @@ msgstr "Категория детали" msgid "Default location for parts in this category" msgstr "Место хранения по умолчанию для деталей этой категории" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "Наименование детали" @@ -6214,7 +6214,7 @@ msgstr "" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "Последняя инвентаризация" @@ -6375,7 +6375,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,288 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "Шаблоны тестирования могут быть созданы только для отслеживаемых деталей" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "Название теста" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "Введите имя для теста" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "Описание теста" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "Введите описание для этого теста" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Включено" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Требуется" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "Требуется значение" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "Варианты" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "Название параметра" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "Чекбокс" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "Варианты" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "Родительская деталь" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Шаблон параметра" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "Данные" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "Значение Параметра" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Значение по умолчанию" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "Код или наименование детали" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "Значение IPN" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "Уровень" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "Уровень BOM" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "Выберите родительскую деталь" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "Суб-деталь" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "Выбрать деталь для использования в BOM" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Эта позиция - расходник. (она не отслеживается в заказах на производство)" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Перерасход" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Расчетное количество перерасходов производства (абсолютное или процентное)" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "Записи о позиции BOM" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "Контрольная сумма" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Проверен" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Разрешить разновидности" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Складские позиции для разновидностей деталей могут быть использованы для этой позиции BOM" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "Для отслеживаемых деталей количество должно быть целым числом" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "Позиция BOM-родителя" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "Замена детали" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "Часть 1" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "Часть 2" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "Выберите связанную часть" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -6721,322 +6725,322 @@ msgstr "" msgid "Subcategories" msgstr "Подкатегории" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "Валюта закупки складской позиции" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "Не выбрана ни одна деталь" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "Выберите категорию" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "Оригинальная деталь" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "Копировать Изображение" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Скопировать BOM" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "Скопировать параметры" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "Копировать Записи" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "Скопировать записи из оригинальной детали" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "Код производителя" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "Дублировать деталь" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Начальный запас" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "Копировать параметры категории" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "Копировать шаблоны параметров из выбранной категории деталей" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "Существующее изображение" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "Исключить складские позиции в внешних местах хранения" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "Создать отчет" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "Обновить детали" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "Обновить" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "Подходящая деталь не найдена" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "Некорректное количество" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "Общее количество" @@ -7187,7 +7191,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7380,7 @@ msgstr "Установить запасы детали" msgid "Transfer part stock" msgstr "Переместить запасы детали" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "Действия с деталью" @@ -7448,7 +7452,7 @@ msgid "Minimum stock level" msgstr "Минимальный складской запас" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7545,8 @@ msgstr "Разновидности" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Склад" @@ -7585,7 +7589,7 @@ msgstr "" msgid "Edit" msgstr "Редактировать" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7666,8 @@ msgstr "Обновить цены" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "Нет запасов" @@ -8633,7 +8637,7 @@ msgstr "Результаты тестирования" msgid "Test" msgstr "Тестирование" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "Результат" @@ -8706,43 +8710,49 @@ msgid "Supplier Part ID" msgstr "Код детали поставщика" #: stock/admin.py:185 +#, fuzzy +#| msgid "Supplier Part" +msgid "Supplier Part SKU" +msgstr "Деталь поставщика" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "ID Поставщика" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "Имя поставщика" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "ID Клиента" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Установлено в" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "Код производства" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "ID заказа на продажу" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "Требуется рецензия" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9068,57 @@ msgstr "" msgid "Entry notes" msgstr "" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2404 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid value for this test" +msgstr "Неверное значение для избытка" + +#: stock/models.py:2428 msgid "Test result" msgstr "Результат тестирования" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "Записи Тестирования" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10321,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "Удалить" @@ -10346,12 +10362,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "Редактировать шаблон" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "Удалить шаблон" @@ -10805,7 +10821,7 @@ msgid "Are you sure you want to sign out?" msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "Вернуться на сайт" @@ -10919,15 +10935,21 @@ msgstr "Шаг 1" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "" -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +#, fuzzy +#| msgid "Secret" +msgid "Secret: " +msgstr "Секрет" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "Шаг 2" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "Проверить" @@ -11006,7 +11028,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "Минимальное количество" @@ -11395,7 +11417,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11744,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "Выбрать" @@ -11765,8 +11787,8 @@ msgstr "позиция производства" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "Отслеживаемая деталь" @@ -11952,7 +11974,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "Заказать детали" @@ -11969,34 +11991,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "Деталь-шаблон" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "Производимая Деталь" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "Редактировать параметр" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "Удалить параметр" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "Редактировать параметр" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "Удалить параметр" @@ -12247,7 +12269,7 @@ msgstr "Новости не найдены" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "Код" @@ -12328,347 +12350,347 @@ msgstr "" msgid "Add Part Category" msgstr "Добавить категорию детали" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "Создать Деталь" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "Редактировать Деталь" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "Деталь изменена" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "Активная Деталь" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "Любые складские позиции для этой запчасти будут удалены" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "Удалить Деталь" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "Низкий запас" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "Требуется" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "Ед. Изм." -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "Виртуальная Деталь" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "Деталь с подпиской" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "Продаваемая деталь" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "Детали не найдены" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "Указать категорию" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "деталь" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "детали" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "Нет категории" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "Отобразить списком" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "Отобразить сеткой" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "Отобразить древом" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "Категория с подпиской" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "результаты" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "Редактировать результаты тестирования" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "Приблизительный" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "Максимальное количество" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14392,3 @@ msgstr "Разрешение на редактирование элементо #: users/models.py:413 msgid "Permission to delete items" msgstr "Разрешение на удаление элементов" - diff --git a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po index 62c65f3573..9e4df6e864 100644 --- a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Slovak\n" @@ -64,13 +64,13 @@ msgstr "" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" @@ -514,7 +514,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" @@ -589,7 +589,7 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "" @@ -686,7 +686,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "" @@ -750,14 +750,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "" #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1112,7 +1112,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "" @@ -4051,13 +4051,13 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "" @@ -4441,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5787,14 +5787,14 @@ msgstr "" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" @@ -5835,22 +5835,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -5887,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "" @@ -5997,7 +5997,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6006,7 +6006,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6021,7 +6021,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "" @@ -6214,7 +6214,7 @@ msgstr "" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" @@ -6375,7 +6375,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,288 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -6721,322 +6725,322 @@ msgstr "" msgid "Subcategories" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7187,7 +7191,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7380,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "" @@ -7448,7 +7452,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7545,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7585,7 +7589,7 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7666,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "" @@ -8633,7 +8637,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "" @@ -8706,43 +8710,47 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 +msgid "Supplier Part SKU" +msgstr "" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9066,55 @@ msgstr "" msgid "Entry notes" msgstr "" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2404 +msgid "Invalid value for this test" +msgstr "" + +#: stock/models.py:2428 msgid "Test result" msgstr "" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10317,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10346,12 +10358,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10805,7 +10817,7 @@ msgid "Are you sure you want to sign out?" msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "" @@ -10919,15 +10931,19 @@ msgstr "" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "" -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +msgid "Secret: " +msgstr "" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "" @@ -11006,7 +11022,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "" @@ -11395,7 +11411,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11738,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11765,8 +11781,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11952,7 +11968,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11969,34 +11985,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12247,7 +12263,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12328,347 +12344,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14386,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po index 20c8d5a0c8..3fdc90d8bd 100644 --- a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Slovenian\n" @@ -64,13 +64,13 @@ msgstr "Vnesi datum" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "Manjka datoteka" msgid "Missing external link" msgstr "Manjka zunanja povezava" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "Izberite prilogo" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "Nedovoljena izbira" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "Nedovoljena izbira" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Ime" @@ -514,7 +514,7 @@ msgstr "Ime" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "Ime" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "Opis (opcijsko)" msgid "parent" msgstr "nadrejen" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Pot" @@ -589,7 +589,7 @@ msgstr "Napaka strežnika" msgid "An error has been logged by the server." msgstr "Zaznana napaka na strežniku." -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "Mora biti veljavna številka" @@ -686,7 +686,7 @@ msgstr "Povezava do oddaljene slike" msgid "Downloading images from remote URL is not enabled" msgstr "Prenos slik iz oddaljene povezave ni omogočen" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "Nadzor dela v ozadju neuspel" @@ -750,14 +750,14 @@ msgstr "O InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "Referenca naloga izgradnje" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "Izgradnja se ne ujema s nalogom izdelave" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1112,7 +1112,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "" @@ -4051,13 +4051,13 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "" @@ -4441,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5787,14 +5787,14 @@ msgstr "" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" @@ -5835,22 +5835,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -5887,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "" @@ -5997,7 +5997,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6006,7 +6006,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6021,7 +6021,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "" @@ -6214,7 +6214,7 @@ msgstr "" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" @@ -6375,7 +6375,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,288 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -6721,322 +6725,322 @@ msgstr "" msgid "Subcategories" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7187,7 +7191,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7380,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "" @@ -7448,7 +7452,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7545,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7585,7 +7589,7 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7666,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "" @@ -8633,7 +8637,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "" @@ -8706,43 +8710,47 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 +msgid "Supplier Part SKU" +msgstr "" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9066,57 @@ msgstr "" msgid "Entry notes" msgstr "" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2404 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid value for this test" +msgstr "Neveljavna vrednost za prestarost" + +#: stock/models.py:2428 msgid "Test result" msgstr "" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10319,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10346,12 +10360,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10805,7 +10819,7 @@ msgid "Are you sure you want to sign out?" msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "" @@ -10919,15 +10933,19 @@ msgstr "" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "" -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +msgid "Secret: " +msgstr "" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "" @@ -11006,7 +11024,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "" @@ -11395,7 +11413,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11740,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11765,8 +11783,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11952,7 +11970,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11969,34 +11987,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12247,7 +12265,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12328,347 +12346,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14388,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po index ba2d8a5b96..7fae2dab40 100644 --- a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Serbian (Latin)\n" @@ -64,13 +64,13 @@ msgstr "Unesite datum" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "Nedostaje datoteka" msgid "Missing external link" msgstr "Nedostaje eksterni link" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "Izaberite datoteku za prilog" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "Nevažeći izvor" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "Nevažeći izvor" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Ime" @@ -514,7 +514,7 @@ msgstr "Ime" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "Ime" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "Opis (Opciono)" msgid "parent" msgstr "nadređeni" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Putanja" @@ -589,7 +589,7 @@ msgstr "Greška servera" msgid "An error has been logged by the server." msgstr "Server je zabležio grešku." -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "Mora biti važeći broj" @@ -686,7 +686,7 @@ msgstr "URL udaljene slike" msgid "Downloading images from remote URL is not enabled" msgstr "Preuzimanje slika s udaljenog URL-a nije omogućeno" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "Provera pozadinskog radnika nije uspjela" @@ -750,14 +750,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "Reference naloga za pravljenje" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "" #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1112,7 +1112,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "" @@ -4051,13 +4051,13 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "" @@ -4441,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5787,14 +5787,14 @@ msgstr "" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" @@ -5835,22 +5835,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -5887,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "" @@ -5997,7 +5997,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6006,7 +6006,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6021,7 +6021,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "" @@ -6214,7 +6214,7 @@ msgstr "" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" @@ -6375,7 +6375,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,288 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -6721,322 +6725,322 @@ msgstr "" msgid "Subcategories" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7187,7 +7191,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7380,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "" @@ -7448,7 +7452,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7545,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7585,7 +7589,7 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7666,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "" @@ -8633,7 +8637,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "" @@ -8706,43 +8710,47 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 +msgid "Supplier Part SKU" +msgstr "" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9066,57 @@ msgstr "" msgid "Entry notes" msgstr "" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2404 +#, fuzzy +#| msgid "Invalid value" +msgid "Invalid value for this test" +msgstr "Nevažeća vrednost" + +#: stock/models.py:2428 msgid "Test result" msgstr "" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10319,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10346,12 +10360,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10805,7 +10819,7 @@ msgid "Are you sure you want to sign out?" msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "" @@ -10919,15 +10933,19 @@ msgstr "" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "" -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +msgid "Secret: " +msgstr "" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "" @@ -11006,7 +11024,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "" @@ -11395,7 +11413,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11740,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11765,8 +11783,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11952,7 +11970,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11969,34 +11987,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12247,7 +12265,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12328,347 +12346,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14388,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po index cca1a62050..e054b069b8 100644 --- a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Swedish\n" @@ -64,13 +64,13 @@ msgstr "Ange datum" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "Saknad fil" msgid "Missing external link" msgstr "Extern länk saknas" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "Välj fil att bifoga" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "Ogiltigt val" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "Ogiltigt val" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Namn" @@ -514,7 +514,7 @@ msgstr "Namn" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "Namn" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "Beskrivning (valfritt)" msgid "parent" msgstr "överordnad" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Sökväg" @@ -589,7 +589,7 @@ msgstr "Serverfel" msgid "An error has been logged by the server." msgstr "Ett fel har loggats av servern." -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "Måste vara ett giltigt nummer" @@ -686,7 +686,7 @@ msgstr "URL för fjärrbildsfil" msgid "Downloading images from remote URL is not enabled" msgstr "Nedladdning av bilder från fjärr-URL är inte aktiverad" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "Kontroll av bakgrundsarbetare misslyckades" @@ -750,14 +750,14 @@ msgstr "Om InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Byggnationen måste avbrytas innan den kan tas bort" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "Byggorderreferens" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "Byggutgång matchar inte bygg order" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1112,7 +1112,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "" @@ -4051,13 +4051,13 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "Leverantör" msgid "Select supplier" msgstr "Välj leverantör" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "I lager" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "" @@ -4441,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5787,14 +5787,14 @@ msgstr "" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" @@ -5835,22 +5835,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Artiklar" @@ -5887,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "Kategori" @@ -5997,7 +5997,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6006,7 +6006,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6021,7 +6021,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "" @@ -6214,7 +6214,7 @@ msgstr "" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" @@ -6375,7 +6375,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,288 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -6721,322 +6725,322 @@ msgstr "" msgid "Subcategories" msgstr "Underkategorier" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "Välj kategori" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "Kopiera bild" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "Generera rapport" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "Uppdatera" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7187,7 +7191,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7380,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "" @@ -7448,7 +7452,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7545,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7585,7 +7589,7 @@ msgstr "" msgid "Edit" msgstr "Redigera" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7666,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "" @@ -8633,7 +8637,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "" @@ -8706,43 +8710,49 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 +#, fuzzy +#| msgid "Search Supplier Parts" +msgid "Supplier Part SKU" +msgstr "Sök efter leverantörsartikel" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "Leverantörsnamn" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9068,57 @@ msgstr "" msgid "Entry notes" msgstr "" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2404 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid value for this test" +msgstr "Ogiltigt värde för överskott" + +#: stock/models.py:2428 msgid "Test result" msgstr "" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10321,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "Radera" @@ -10346,12 +10362,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "Redigera mall" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "Radera mall" @@ -10805,7 +10821,7 @@ msgid "Are you sure you want to sign out?" msgstr "Är du säker på att du vill logga ut?" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "" @@ -10919,15 +10935,19 @@ msgstr "Steg 1" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "" -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +msgid "Secret: " +msgstr "" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "Steg 2" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "" @@ -11006,7 +11026,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "" @@ -11395,7 +11415,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11742,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11765,8 +11785,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11952,7 +11972,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11969,34 +11989,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12247,7 +12267,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12328,347 +12348,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "Ingen kategori" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "Visa som lista" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "Inga underkategorier hittades" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "Ladda underkategorier" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "resultat" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14390,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po index 4e9eea25d8..81b1d3894b 100644 --- a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Thai\n" @@ -64,13 +64,13 @@ msgstr "ป้อนวันที่" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "ไม่พบไฟล์" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "เลือกไฟล์ที่ต้องการแนบ" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "ชื่อ" @@ -514,7 +514,7 @@ msgstr "ชื่อ" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "ชื่อ" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" @@ -589,7 +589,7 @@ msgstr "เกิดข้อผิดพลาดที่เซิร์ฟเ msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "ต้องเป็นตัวเลข" @@ -686,7 +686,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "" @@ -750,14 +750,14 @@ msgstr "เกี่ยวกับ Inventree" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "" #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "จำนวนต้องมีค่ามากกว่า 0" @@ -1112,7 +1112,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "" @@ -4051,13 +4051,13 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "" @@ -4441,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5787,14 +5787,14 @@ msgstr "" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" @@ -5835,22 +5835,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "ชิ้นส่วน" @@ -5887,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "" @@ -5997,7 +5997,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6006,7 +6006,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6021,7 +6021,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "" @@ -6214,7 +6214,7 @@ msgstr "" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" @@ -6375,7 +6375,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,288 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -6721,322 +6725,322 @@ msgstr "" msgid "Subcategories" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7187,7 +7191,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7380,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "" @@ -7448,7 +7452,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7545,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7585,7 +7589,7 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7666,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "" @@ -8633,7 +8637,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "" @@ -8706,43 +8710,47 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 +msgid "Supplier Part SKU" +msgstr "" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9066,55 @@ msgstr "" msgid "Entry notes" msgstr "" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2404 +msgid "Invalid value for this test" +msgstr "" + +#: stock/models.py:2428 msgid "Test result" msgstr "" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10317,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10346,12 +10358,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10805,7 +10817,7 @@ msgid "Are you sure you want to sign out?" msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "" @@ -10919,15 +10931,19 @@ msgstr "" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "" -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +msgid "Secret: " +msgstr "" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "" @@ -11006,7 +11022,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "" @@ -11395,7 +11411,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11738,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11765,8 +11781,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11952,7 +11968,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11969,34 +11985,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12247,7 +12263,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12328,347 +12344,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14386,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po index 12df798976..991e12d0b4 100644 --- a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Turkish\n" @@ -64,13 +64,13 @@ msgstr "Tarih giriniz" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "Eksik dosya" msgid "Missing external link" msgstr "Bozuk dış bağlantı" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "Eklenecek dosyayı seç" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "Geçersiz seçim" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "Geçersiz seçim" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Adı" @@ -514,7 +514,7 @@ msgstr "Adı" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "Adı" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "Açıklama (isteğe bağlı)" msgid "parent" msgstr "üst" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Yol" @@ -589,7 +589,7 @@ msgstr "Sunucu Hatası" msgid "An error has been logged by the server." msgstr "Bir hafta sunucu tarafından kayıt edildi." -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" @@ -686,7 +686,7 @@ msgstr "Uzaktan görüntü dosya URL'si" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "Arka plan çalışanı kontrolü başarısız oldu" @@ -750,14 +750,14 @@ msgstr "InvenTree Hakkında" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "Yapım İşi Emri Referansı" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "Yapım işi çıktısı, yapım işi emri ile eşleşmiyor" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1112,7 +1112,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "Yapım işi çıktısı için seri numaraları girin" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "Stok, yapım işi emri için tamamen tahsis edilemedi" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "Kategori Paremetre Sablonu Kopyala" msgid "Copy category parameter templates when creating a part" msgstr "Parça oluştururken kategori parametre şablonlarını kopyala" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "Parça seçin" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "Üretici seçin" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "Parametre adı" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "Değer" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "Parametre değeri" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "" @@ -4051,13 +4051,13 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "Tedarikçi" msgid "Select supplier" msgstr "Tedarikçi seçin" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "Pasif" @@ -4441,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5787,14 +5787,14 @@ msgstr "" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "DPN" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Revizyon" @@ -5835,22 +5835,22 @@ msgstr "Minimum Stok" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Parçalar" @@ -5887,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "" @@ -5997,7 +5997,7 @@ msgstr "" msgid "Default Location" msgstr "Varsayılan Konum" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6006,7 +6006,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6021,7 +6021,7 @@ msgstr "Parça Kategorileri" msgid "Default location for parts in this category" msgstr "Bu kategori içindeki parçalar için varsayılan konum" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "Parça adı" @@ -6214,7 +6214,7 @@ msgstr "" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" @@ -6375,7 +6375,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,288 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "Test şablonları sadece takip edilebilir paçalar için oluşturulabilir" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "Test Adı" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "Test Açıklaması" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Etkin" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Gerekli" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "Parametre şablon adı benzersiz olmalıdır" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Parametre Şablonu" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Bu malzeme listesi, çeşit parçalar listesini kalıtsalıdır" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Çeşide İzin Ver" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Çeşit parçaların stok kalemleri bu malzeme listesinde kullanılabilir" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -6721,322 +6725,322 @@ msgstr "" msgid "Subcategories" msgstr "Alt kategoriler" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7187,7 +7191,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7380,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "Parça işlemleri" @@ -7448,7 +7452,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7545,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Stok" @@ -7585,7 +7589,7 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7666,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "Stok Yok" @@ -8633,7 +8637,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "" @@ -8706,43 +8710,49 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 +#, fuzzy +#| msgid "Supplier Part" +msgid "Supplier Part SKU" +msgstr "Tedarikçi Parçası" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9068,57 @@ msgstr "Stok kalemi stokta olmadığı için taşınamaz" msgid "Entry notes" msgstr "" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2404 +#, fuzzy +#| msgid "Invalid value" +msgid "Invalid value for this test" +msgstr "Geçersiz değer" + +#: stock/models.py:2428 msgid "Test result" msgstr "" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10321,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10346,12 +10362,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10805,7 +10821,7 @@ msgid "Are you sure you want to sign out?" msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "" @@ -10919,15 +10935,19 @@ msgstr "" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "" -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +msgid "Secret: " +msgstr "" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "" @@ -11006,7 +11026,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "" @@ -11395,7 +11415,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11742,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11765,8 +11785,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11952,7 +11972,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11969,34 +11989,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12247,7 +12267,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12328,347 +12348,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14390,3 @@ msgstr "Parçaları düzenleme izni" #: users/models.py:413 msgid "Permission to delete items" msgstr "Parçaları silme izni" - diff --git a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po index 72435f920f..49e2977114 100644 --- a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" @@ -64,13 +64,13 @@ msgstr "" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" @@ -514,7 +514,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" @@ -589,7 +589,7 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "" @@ -686,7 +686,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "" @@ -750,14 +750,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "" #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1112,7 +1112,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "" @@ -4051,13 +4051,13 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "" @@ -4441,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5787,14 +5787,14 @@ msgstr "" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" @@ -5835,22 +5835,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -5887,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "" @@ -5997,7 +5997,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6006,7 +6006,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6021,7 +6021,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "" @@ -6214,7 +6214,7 @@ msgstr "" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" @@ -6375,7 +6375,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,288 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -6721,322 +6725,322 @@ msgstr "" msgid "Subcategories" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7187,7 +7191,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7380,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "" @@ -7448,7 +7452,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7545,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7585,7 +7589,7 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7666,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "" @@ -8633,7 +8637,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "" @@ -8706,43 +8710,47 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 +msgid "Supplier Part SKU" +msgstr "" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9066,55 @@ msgstr "" msgid "Entry notes" msgstr "" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2404 +msgid "Invalid value for this test" +msgstr "" + +#: stock/models.py:2428 msgid "Test result" msgstr "" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10317,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10346,12 +10358,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10805,7 +10817,7 @@ msgid "Are you sure you want to sign out?" msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "" @@ -10919,15 +10931,19 @@ msgstr "" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "" -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +msgid "Secret: " +msgstr "" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "" @@ -11006,7 +11022,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "" @@ -11395,7 +11411,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11738,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11765,8 +11781,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11952,7 +11968,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11969,34 +11985,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12247,7 +12263,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12328,347 +12344,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14386,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po index 8d7344ea1f..bd89674e7f 100644 --- a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" @@ -64,13 +64,13 @@ msgstr "Nhập ngày" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "Tập tin bị thiếu" msgid "Missing external link" msgstr "Thiếu liên kết bên ngoài" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "Chọn file đính kèm" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "Lựa chọn sai" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "Lựa chọn sai" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Tên" @@ -514,7 +514,7 @@ msgstr "Tên" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "Tên" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "Mô tả (tùy chọn)" msgid "parent" msgstr "thư mục cha" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Đường dẫn" @@ -589,7 +589,7 @@ msgstr "Lỗi máy chủ" msgid "An error has been logged by the server." msgstr "Lỗi đã được ghi lại bởi máy chủ." -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "Phải là một số hợp lệ" @@ -686,7 +686,7 @@ msgstr "URL của tệp hình ảnh bên ngoài" msgid "Downloading images from remote URL is not enabled" msgstr "Chức năng tải hình ảnh từ URL bên ngoài không được bật" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "Nhân công chạy ngầm kiểm tra thất bại" @@ -750,14 +750,14 @@ msgstr "Giới thiệu" msgid "Build must be cancelled before it can be deleted" msgstr "Bạn dựng phải được hủy bỏ trước khi có thể xóa được" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Vật tư tiêu hao" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "Đã cấp phát" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "Tham chiếu đơn đặt bản dựng" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "Đơn đặt bản dựng với bản dựng này đã được phân b #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "Đơn đặt bản dựng với bản dựng này đã được phân b #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "Đầu ra bản dựng không phù hợp với đơn đặt bản dựng #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Số lượng phải lớn hơn 0" @@ -1112,7 +1112,7 @@ msgstr "Dựng đối tượng" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "Dựng đối tượng" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "Nhập vào số sêri cho đầu ra bản dựng" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "Phân bổ các mục hóa đơn vật liệu tùy chọn đến đơn msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "Mục BOM" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "Bật đơn hàng" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "Đang sản xuất" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "Kho không được phân bổ đầy đủ với yêu cầu bản dựn #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "Sao chéo mẫu tham số danh mục" msgid "Copy category parameter templates when creating a part" msgstr "Sao chéo mẫu tham số danh mục khi tạo 1 sản phẩm" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "Số lượng giá phá vỡ" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "Chọn sản phẩm" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "Chọn nhà sản xuất" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "Tên tham số" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "Giá trị" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "Giá trị tham số" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "Đơn vị" @@ -4051,13 +4051,13 @@ msgstr "Sản phẩm nhà sản xuất đã liên kết phải tham chiếu vớ #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "Nhà cung cấp" msgid "Select supplier" msgstr "Chọn nhà cung cấp" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "Đơn vị quản lý kho nhà cung cấp" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "Mô tả sản phẩm nhà cung cấp" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Thu phí tối thiểu (vd: phí kho bãi)" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "Đóng gói sản phẩm" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "Còn hàng" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "Không hoạt động" @@ -4441,7 +4441,7 @@ msgstr "Chưa có thông tin nhà sản xuất" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "Tham số mới" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "Thêm thông số" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "Chưa có thông tin nhà cung cấp" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "Cập nhật độ sẵn sàng sản phẩm" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "Cập nhật độ sẵn sàng sản phẩm" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "Sản phẩm nhà cung cấp" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "Mã khách hàng" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "Cập nhật {part} giá đơn vị đến {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Cập nhật {part} giá đơn vị đến {price} và số lượng đến {qty}" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "ID sản phẩm" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Tên sản phẩm" @@ -5787,14 +5787,14 @@ msgstr "Mô tả sản phẩm" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Phiên bản" @@ -5835,22 +5835,22 @@ msgstr "Kho tối thiểu" msgid "Used In" msgstr "Sử dụng trong" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "Đang dựng" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "Chi phí tối thiểu" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "Chi phí tối đa" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "ID cha" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "Đưỡng dẫn danh mục" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Nguyên liệu" @@ -5887,17 +5887,17 @@ msgstr "ID hàng hóa BOM" msgid "Parent IPN" msgstr "IPN cha" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "IPN sản phẩm" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Giá thấp nhất" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "Tùy chọn này phải được chọn" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "Danh mục" @@ -5997,7 +5997,7 @@ msgstr "" msgid "Default Location" msgstr "Điểm bán mặc định" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Tổng số lượng" @@ -6006,7 +6006,7 @@ msgstr "Tổng số lượng" msgid "Input quantity for price calculation" msgstr "Số lượng đầu ra cho tính toán giá bán" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Danh mục sản phẩm" @@ -6021,7 +6021,7 @@ msgstr "Danh mục sản phẩm" msgid "Default location for parts in this category" msgstr "Vị trí mặc định cho sản phẩm trong danh mục này" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "Sản phẩm với Tên, IPN và Duyệt lại đã tồn tại." msgid "Parts cannot be assigned to structural part categories!" msgstr "Sản phẩm không thể được phân vào danh mục sản phẩm có cấu trúc!" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "Tên sản phẩm" @@ -6214,7 +6214,7 @@ msgstr "Trách nhiệm chủ sở hữu cho sản phẩm này" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "Kiểm kê cuối cùng" @@ -6375,7 +6375,7 @@ msgstr "Tống số kho tại thời điểm kiểm kê" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,290 @@ msgstr "Người dùng đã yêu cầu báo cáo kiểm kê này" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "Lựa chọn phải duy nhất" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "Chỉ có thể tạo mẫu kiểm thử cho sản phẩm có thể theo dõi" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "Tên kiểm thử" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "Nhập tên cho kiểm thử" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "Mô tả kiểm thử" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "Nhập mô tả cho kiểm thử này" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Đã bật" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Bắt buộc" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "Kiểm thử này bắt buộc phải đạt?" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "Giá trị bắt buộc" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "Kiểm thử này yêu cầu 1 giá trị khi thêm một kết quả kiểm thử?" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "Yêu cầu đính kèm" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "Kiểm thử này yêu cầu tệp đính kèm khi thêm một kết quả kiểm thử?" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "Lựa chọn" + +#: part/models.py:3575 +#, fuzzy +#| msgid "Valid choices for this parameter (comma-separated)" +msgid "Valid choices for this test (comma-separated)" +msgstr "Lựa chọn hợp lệ từ tham số này (ngăn cách bằng dấu phẩy)" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "Tham số hộp kiểm tra không thể có đơn vị" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "Tham số hộp kiểm tra không thể có lựa chọn" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "Lựa chọn phải duy nhất" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "Tên tham số mẫu phải là duy nhất" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "Tên tham số" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "Đơn vị vật lý cho tham số này" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "Mô tả tham số" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "Ô lựa chọn" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "Tham số này có phải là hộp kiểm tra?" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "Lựa chọn" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "Lựa chọn hợp lệ từ tham số này (ngăn cách bằng dấu phẩy)" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "Lựa chọn sai cho giá trị tham số" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "Sản phẩm cha" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Mẫu tham số" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "Dữ liệu" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "Giá trị tham số" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Giá trị mặc định" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "Giá trị tham số mặc định" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "Tên hoặc mã sản phẩm" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "Giá trị mã sản phẩm duy nhất" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "Giá trị IPN sản phẩm" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "Cấp độ" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "Cấp độ BOM" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "Chọn sản phẩm cha" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "Sản phẩm phụ" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "Chọn sản phẩm được dùng trong BOM" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "Số lượng BOM cho mục BOM này" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "Mục BOM này là tùy chọn" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Mục BOM này bị tiêu hao (không được theo dõi trong đơn đặt bản dựng)" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Dư thừa" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Số lượng bản dựng lãng phí ước tính (tuyệt đối hoặc phần trăm)" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "Tham chiếu mục BOM" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "Ghi chú mục BOM" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "Giá trị tổng kiểm" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "Giá trị tổng kiểm dòng BOM" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Đã xác minh" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "Mục BOM này là hợp lệ" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "Nhận thừa hưởng" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Mục BOM này được thừa kế bởi BOM cho sản phẩm biến thể" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Cho phép biến thể" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Hàng trong kho cho sản phẩm biến thể có thể được dùng bởi mục BOM này" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "Số lượng phải là giá trị nguyên dùng cho sản phẩm có thể theo dõi được" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "Sản phẩm phụ phải được chỉ định" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "Sảm phẩm thay thế mục BOM" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "Sản phẩm thay thế không thể giống sản phẩm chủ đạo" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "Hàng hóa BOM cha" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "Sản phẩm thay thế" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "Sản phẩm 1" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "Sản phẩm 2" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "Chọn sản phẩm liên quan" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "Không thể tạo mối quan hệ giữa một sản phẩm và chính nó" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "Đã tồn tại mối quan hệ trùng lặp" @@ -6721,322 +6727,322 @@ msgstr "Đã tồn tại mối quan hệ trùng lặp" msgid "Subcategories" msgstr "Phụ mục" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 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:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "Chưa chọn sản phẩm" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "Chọn danh mục" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "Sản phẩm gốc" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "Chọn sản phẩm gốc để nhân bản" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "Sao chép ảnh" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "Sao chép hình ảnh từ sản phẩm gốc" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Sao chép BOM" -#: part/serializers.py:457 +#: part/serializers.py:458 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:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "Sao chép thông số" -#: part/serializers.py:464 +#: part/serializers.py:465 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:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "Sao chép ghi chú" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "Sao chép ghi chú từ sản phẩm gốc" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "Số liệu tồn kho ban đầu" -#: part/serializers.py:491 +#: part/serializers.py:492 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:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "Vị trí kho ban đầu" -#: part/serializers.py:499 +#: part/serializers.py:500 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:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "Chọn nhà cung cấp (hoặc để trống để bỏ qua)" -#: part/serializers.py:532 +#: part/serializers.py:533 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:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "Mã số nhà sản xuất" -#: part/serializers.py:549 +#: part/serializers.py:550 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:558 +#: part/serializers.py:559 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:569 +#: part/serializers.py:570 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:576 +#: part/serializers.py:577 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:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "Nhân bản sản phẩm" -#: part/serializers.py:876 +#: part/serializers.py:877 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:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Số liệu kho ban đầu" -#: part/serializers.py:883 +#: part/serializers.py:884 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:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "Thông tin nhà cung cấp" -#: part/serializers.py:890 +#: part/serializers.py:891 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:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "Sao chép thông số nhóm hàng" -#: part/serializers.py:899 +#: part/serializers.py:900 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:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "Ảnh hiện có" -#: part/serializers.py:905 +#: part/serializers.py:906 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:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "Tệp hình ảnh không tồn tại" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Hạn chế báo cáo kiểm kê với sản phẩm riêng biệt và sản phẩm biến thể bất kỳ" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Hạn chế báo cáo kiểm kê với danh mục sản phẩm riêng biệt và danh mục con bất kỳ" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Hạn chế báo cáo kiểm kê với vị trí kho riêng biệt và vị trí con bất kỳ" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "Ngoại trừ kho bên ngoài" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "Loại trừ hàng trong kho của vị trí bên ngoài" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "Tạo báo cáo" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "Tạo tệp báo cáo chứa dữ liệu kiểm kê đã tính toán" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "Cập nhật sản phẩm" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "Cập nhật sản phẩm cụ thể với dữ liệu kiểm kê đã tính" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "Chức năng kiểm kê chưa được bật" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "Giá trị tính toán ghi đè cho giá tối thiểu" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "Tiền tế giá tối thiểu" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "Giá trị tính toán ghi đè cho giá tối đa" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "Tiền tế giá tối đa" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "Cập nhật" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "Cập nhật giá cho sản phẩm này" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, 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:1363 +#: part/serializers.py:1364 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:1366 +#: part/serializers.py:1367 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:1733 +#: part/serializers.py:1734 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:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "Xóa dữ liệu đã tồn tại" -#: part/serializers.py:1742 +#: part/serializers.py:1743 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:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "Bao gồm thừa hưởng" -#: part/serializers.py:1748 +#: part/serializers.py:1749 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:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "Bỏ qua dòng không hợp lệ" -#: part/serializers.py:1754 +#: part/serializers.py:1755 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:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "Sao chép sản phẩm thay thế" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "Sao chép sản phẩm thay thế khi nhân bản hàng hóa BOM" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "Dọn dẹp BOM đang tồn tại" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "Xóa mục BOM đang tồn tại trước khi tải lên" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "Chưa chỉ ra cột sản phẩm" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "Tìm thấy nhiều sản phẩm phù hợp" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "Không tìm thấy sản phẩm nào" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "Sản phẩm không được chỉ định như là một thành phần" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "Chưa cung cấp số lượng" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "Số lượng không hợp lệ" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "Buộc phải nhập ít nhất một mục BOM" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "Tổng số lượng" @@ -7187,7 +7193,7 @@ msgid "Add stocktake information" msgstr "Thêm thông tin kiểm kê" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7382,7 @@ msgstr "Đếm kho sản phẩm" msgid "Transfer part stock" msgstr "Chuyển kho sản phẩm" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "Chức năng sản phẩm" @@ -7448,7 +7454,7 @@ msgid "Minimum stock level" msgstr "Cấp kho tối thiểu" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7547,8 @@ msgstr "Biến thể" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Kiện hàng" @@ -7585,7 +7591,7 @@ msgstr "Ghi đè định giá sản phẩm" msgid "Edit" msgstr "Sửa" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7668,8 @@ msgstr "Cập nhập giá bán" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "Hết hàng" @@ -8633,7 +8639,7 @@ msgstr "Kết quả kiểm tra" msgid "Test" msgstr "Thử nghiệm" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "Kết quả" @@ -8706,43 +8712,49 @@ msgid "Supplier Part ID" msgstr "Sản phẩm nhà cung cấp" #: stock/admin.py:185 +#, fuzzy +#| msgid "Supplier Part" +msgid "Supplier Part SKU" +msgstr "Sản phẩm nhà cung cấp" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "Tên nhà cung cấp" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "Tên nhà cung cấp" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "ID Khách hàng" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Đã cài đặt trong" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "ID bản dựng" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "ID đơn hàng bán" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "ID đơn đặt mua" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "Cần xem xét" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "Xóa khi thiếu hụt" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9070,57 @@ msgstr "Không thể xóa mặt hàng không ở trong kho" msgid "Entry notes" msgstr "Ghi chú đầu vào" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "Phải cung cấp giá trị cho kiểm thử này" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "Phải tải liên đính kèm cho kiểm thử này" -#: stock/models.py:2423 +#: stock/models.py:2404 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid value for this test" +msgstr "Giá trị không hợp lệ cho hàng hóa dư thừa" + +#: stock/models.py:2428 msgid "Test result" msgstr "Kết quả kiểm thử" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "Giá trị đầu ra kiểm thử" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "Đính kèm kết quả kiểm thử" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "Ghi chú kiểm thử" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10323,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "Xóa" @@ -10346,12 +10364,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10805,7 +10823,7 @@ msgid "Are you sure you want to sign out?" msgstr "Bạn có chắc bạn muốn đăng xuất không?" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "Quay lại site" @@ -10919,15 +10937,21 @@ msgstr "Bước 1" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "Quét mã QR bên dưới với bộ sinh mã thông báo mà bạn chọn (cho thực thể Google Authentication)." -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +#, fuzzy +#| msgid "Secret" +msgid "Secret: " +msgstr "Bí mật" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "Bước 2" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "Điền một mã thông báo đã sinh bởi ứng dụng:" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "Xác minh" @@ -11006,7 +11030,7 @@ msgid "Click on the following link to view this part" msgstr "Nhấp chuột vào liên kết dưới đây để xem sản phẩm này" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "Số lượng tối thiểu" @@ -11395,7 +11419,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11746,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11765,8 +11789,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11952,7 +11976,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11969,34 +11993,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12247,7 +12271,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12328,347 +12352,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14394,3 @@ msgstr "Quyển để sửa mục" #: users/models.py:413 msgid "Permission to delete items" msgstr "Quyền để xóa mục" - diff --git a/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po index 278837120d..531d2171a6 100644 --- a/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-04 11:54+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" @@ -64,13 +64,13 @@ msgstr "" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 #: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -399,7 +399,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -415,9 +415,9 @@ msgstr "" #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -489,7 +489,7 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -501,9 +501,9 @@ msgstr "" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" @@ -514,7 +514,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -528,10 +528,10 @@ msgstr "" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -552,7 +552,7 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" @@ -589,7 +589,7 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "" @@ -686,7 +686,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1180 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "" @@ -750,14 +750,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -785,8 +785,8 @@ msgstr "" #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -830,7 +830,7 @@ msgstr "" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -862,9 +862,9 @@ msgstr "" #: order/models.py:1450 order/models.py:1595 order/models.py:1596 #: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1126 part/serializers.py:1732 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -889,8 +889,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -1085,7 +1085,7 @@ msgstr "" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 #: build/serializers.py:867 order/models.py:559 order/serializers.py:434 -#: order/serializers.py:577 part/serializers.py:1490 part/serializers.py:1890 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 #: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" @@ -1112,7 +1112,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2508 #: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1133,8 +1133,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1262,7 +1262,7 @@ msgstr "" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 #: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 -#: part/serializers.py:1146 stock/serializers.py:101 stock/serializers.py:626 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 #: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 #: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 @@ -1496,7 +1496,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1506,21 +1506,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:834 part/serializers.py:1508 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1510 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1533 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1678,7 +1678,7 @@ msgstr "" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -2307,7 +2307,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -3439,7 +3439,7 @@ msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" @@ -3965,7 +3965,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3980,11 +3980,11 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4014,8 +4014,8 @@ msgid "Parameter name" msgstr "" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" @@ -4025,10 +4025,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "" @@ -4051,13 +4051,13 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4068,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4089,7 +4089,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4108,7 +4108,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4120,7 +4120,7 @@ msgid "Part packaging" msgstr "" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4169,7 +4169,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "" @@ -4441,7 +4441,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:838 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4462,7 +4462,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "" @@ -4541,8 +4541,8 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4591,7 +4591,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:837 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 #: stock/serializers.py:919 stock/serializers.py:1083 @@ -4599,7 +4599,7 @@ msgstr "" #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4785,7 +4785,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -4982,7 +4982,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5675,7 +5675,7 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5771,12 +5771,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5787,14 +5787,14 @@ msgstr "" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" @@ -5835,22 +5835,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5864,13 +5864,13 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -5887,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1280 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1295 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5927,7 +5927,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 msgid "Parent" msgstr "" @@ -5979,12 +5979,12 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1136 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "" @@ -5997,7 +5997,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:839 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6006,7 +6006,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6021,7 +6021,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6096,7 +6096,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "" @@ -6214,7 +6214,7 @@ msgstr "" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" @@ -6375,7 +6375,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6434,284 +6434,288 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3491 +#: part/models.py:3512 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2878 +#: part/models.py:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3509 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3515 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3516 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3523 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3524 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3528 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3533 templates/js/translated/part.js:2907 +#: part/models.py:3554 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3534 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3539 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3540 +#: part/models.py:3561 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3545 templates/js/translated/part.js:2922 +#: part/models.py:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3547 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3594 +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3599 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3619 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3636 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4118 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -6721,322 +6725,322 @@ msgstr "" msgid "Subcategories" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:408 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:875 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:882 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1167 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1175 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1288 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1303 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1356 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1363 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1759 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1760 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1795 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1825 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1875 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1913 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7187,7 +7191,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7376,7 +7380,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "" @@ -7448,7 +7452,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7541,8 +7545,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7585,7 +7589,7 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -7662,8 +7666,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "" @@ -8633,7 +8637,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "" @@ -8706,43 +8710,47 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 +msgid "Supplier Part SKU" +msgstr "" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:241 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9058,51 +9066,55 @@ msgstr "" msgid "Entry notes" msgstr "" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2404 +msgid "Invalid value for this test" +msgstr "" + +#: stock/models.py:2428 msgid "Test result" msgstr "" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2464 +#: stock/models.py:2469 msgid "Finished" msgstr "" -#: stock/models.py:2465 +#: stock/models.py:2470 msgid "The timestamp of the test finish" msgstr "" @@ -10305,7 +10317,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10346,12 +10358,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "" @@ -10805,7 +10817,7 @@ msgid "Are you sure you want to sign out?" msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "" @@ -10919,15 +10931,19 @@ msgstr "" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "" -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +msgid "Secret: " +msgstr "" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "" @@ -11006,7 +11022,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "" @@ -11395,7 +11411,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11722,7 +11738,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11765,8 +11781,8 @@ msgstr "" msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "" @@ -11952,7 +11968,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "" @@ -11969,34 +11985,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "" @@ -12247,7 +12263,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -12328,347 +12344,347 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 msgid "part" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" @@ -14370,4 +14386,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po index c9e7d3c8ca..2409f09f34 100644 --- a/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-03 11:39+0000\n" +"POT-Creation-Date: 2024-06-09 22:25+0000\n" "PO-Revision-Date: 2023-02-28 22:38\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" @@ -62,7 +62,7 @@ msgstr "在管理面板中可以找到错误详细信息" msgid "Enter date" msgstr "输入日期" -#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:453 +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 #: order/models.py:1332 order/templates/order/po_sidebar.html:11 @@ -70,13 +70,13 @@ msgstr "输入日期" #: order/templates/order/so_sidebar.html:17 part/admin.py:59 #: part/models.py:3209 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:226 stock/models.py:2325 stock/models.py:2442 -#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 -#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 -#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1081 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -418,7 +418,7 @@ msgstr "缺少文件" msgid "Missing external link" msgstr "缺少外部链接" -#: InvenTree/models.py:572 stock/models.py:2437 +#: InvenTree/models.py:572 stock/models.py:2442 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -428,15 +428,15 @@ msgstr "附件" msgid "Select file to attach" msgstr "选择附件" -#: InvenTree/models.py:581 common/models.py:2938 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 #: order/models.py:303 order/models.py:1337 order/models.py:1753 #: part/admin.py:55 part/models.py:963 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2455 +#: templates/js/translated/part.js:2456 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -459,9 +459,9 @@ msgstr "注释" msgid "File comment" msgstr "文件注释" -#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2490 -#: common/models.py:2491 common/models.py:2639 common/models.py:2640 -#: common/models.py:2885 common/models.py:2886 part/models.py:3219 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 #: plugin/models.py:259 plugin/models.py:260 #: report/templates/report/inventree_test_report.html:105 @@ -506,9 +506,9 @@ msgstr "" msgid "Invalid choice" msgstr "选择无效" -#: InvenTree/models.py:907 common/models.py:2626 common/models.py:3024 +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3650 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:50 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -520,20 +520,20 @@ msgstr "选择无效" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 -#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" msgstr "名称" #: InvenTree/models.py:913 build/models.py:218 -#: build/templates/build/detail.html:24 common/models.py:135 +#: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3665 part/templates/part/category.html:82 +#: part/models.py:3700 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 @@ -547,10 +547,10 @@ msgstr "名称" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 -#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 -#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -571,147 +571,147 @@ msgstr "描述 (可选)" msgid "parent" msgstr "上级项" -#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "路径" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1059 #, fuzzy #| msgid "Add transaction note (optional)" msgid "Markdown notes (optional)" msgstr "添加交易备注 (可选)" -#: InvenTree/models.py:1064 +#: InvenTree/models.py:1088 msgid "Barcode Data" msgstr "条码数据" -#: InvenTree/models.py:1065 +#: InvenTree/models.py:1089 msgid "Third party barcode data" msgstr "第三方条形码数据" -#: InvenTree/models.py:1071 +#: InvenTree/models.py:1095 msgid "Barcode Hash" msgstr "条码哈希" -#: InvenTree/models.py:1072 +#: InvenTree/models.py:1096 msgid "Unique hash of barcode data" msgstr "条码数据的唯一哈希" -#: InvenTree/models.py:1125 +#: InvenTree/models.py:1149 msgid "Existing barcode found" msgstr "发现现有条码" -#: InvenTree/models.py:1168 +#: InvenTree/models.py:1192 msgid "Server Error" msgstr "服务器错误" -#: InvenTree/models.py:1169 +#: InvenTree/models.py:1193 msgid "An error has been logged by the server." msgstr "服务器记录了一个错误。" -#: InvenTree/serializers.py:62 part/models.py:4203 +#: InvenTree/serializers.py:63 part/models.py:4238 msgid "Must be a valid number" msgstr "必须是有效数字" -#: InvenTree/serializers.py:99 company/models.py:183 +#: InvenTree/serializers.py:100 company/models.py:183 #: company/templates/company/company_base.html:112 part/models.py:3027 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "货币" -#: InvenTree/serializers.py:102 +#: InvenTree/serializers.py:103 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:453 +#: InvenTree/serializers.py:454 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:472 +#: InvenTree/serializers.py:473 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:481 +#: InvenTree/serializers.py:482 #, fuzzy #| msgid "About InvenTree" msgid "Welcome to InvenTree" msgstr "关于 InventTree" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:543 msgid "Filename" msgstr "文件名" -#: InvenTree/serializers.py:576 +#: InvenTree/serializers.py:577 msgid "Invalid value" msgstr "无效值" -#: InvenTree/serializers.py:596 +#: InvenTree/serializers.py:597 msgid "Data File" msgstr "数据文件" -#: InvenTree/serializers.py:597 +#: InvenTree/serializers.py:598 msgid "Select data file for upload" msgstr "选择要上传的文件" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "Unsupported file type" msgstr "不支持的文件类型" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "File is too large" msgstr "文件过大" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:642 msgid "No columns found in file" msgstr "在文件中没有找到列" -#: InvenTree/serializers.py:644 +#: InvenTree/serializers.py:645 msgid "No data rows found in file" msgstr "在文件中没有找到数据行" -#: InvenTree/serializers.py:757 +#: InvenTree/serializers.py:758 msgid "No data rows provided" msgstr "没有提供数据行" -#: InvenTree/serializers.py:760 +#: InvenTree/serializers.py:761 msgid "No data columns supplied" msgstr "没有提供数据列" -#: InvenTree/serializers.py:827 +#: InvenTree/serializers.py:828 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "缺少必需的列:'{name}'" -#: InvenTree/serializers.py:836 +#: InvenTree/serializers.py:837 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "复制列: '{col}'" -#: InvenTree/serializers.py:859 +#: InvenTree/serializers.py:877 #, fuzzy #| msgid "Part name" msgid "Remote Image" msgstr "商品名称" -#: InvenTree/serializers.py:860 +#: InvenTree/serializers.py:878 msgid "URL of remote image file" msgstr "远程图像文件的 URL" -#: InvenTree/serializers.py:878 +#: InvenTree/serializers.py:896 msgid "Downloading images from remote URL is not enabled" msgstr "未启用从远程 URL下载图像" -#: InvenTree/status.py:66 part/serializers.py:1179 +#: InvenTree/status.py:66 part/serializers.py:1181 msgid "Background worker check failed" msgstr "后台工作人员检查失败" @@ -777,14 +777,14 @@ msgstr "关于 InventTree" msgid "Build must be cancelled before it can be deleted" msgstr "在删除前必须取消生产" -#: build/api.py:299 part/models.py:4081 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4075 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -805,15 +805,15 @@ msgstr "" msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:904 company/serializers.py:383 +#: build/api.py:311 company/models.py:904 company/serializers.py:384 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -859,7 +859,7 @@ msgstr "相关生产订单" #: build/models.py:210 order/models.py:463 order/models.py:928 #: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4096 part/templates/part/upload_bom.html:54 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -891,11 +891,11 @@ msgstr "此次生产匹配的订单" #: build/models.py:235 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 #: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1501 part/api.py:1795 part/models.py:393 part/models.py:3038 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 #: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3502 -#: part/models.py:3798 part/models.py:3954 part/models.py:4047 -#: part/models.py:4408 part/serializers.py:1125 part/serializers.py:1731 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -906,8 +906,8 @@ msgstr "此次生产匹配的订单" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 -#: stock/serializers.py:818 templates/InvenTree/search.html:82 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -920,8 +920,8 @@ msgstr "此次生产匹配的订单" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 #: templates/js/translated/purchase_order.js:1848 @@ -993,8 +993,8 @@ msgstr "生产状态" msgid "Build status code" msgstr "生产状态代码" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:581 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1462 +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "批量代码" @@ -1003,7 +1003,7 @@ msgstr "批量代码" msgid "Batch code for this build output" msgstr "此生产产出的批量代码" -#: build/models.py:307 order/models.py:316 order/serializers.py:120 +#: build/models.py:307 order/models.py:316 order/serializers.py:121 #: part/models.py:1123 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 @@ -1036,7 +1036,7 @@ msgid "User who issued this build order" msgstr "发布此生产订单的用户" #: build/models.py:338 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:144 +#: build/templates/build/detail.html:122 common/models.py:143 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 #: order/templates/order/sales_order_base.html:232 part/models.py:1140 @@ -1074,7 +1074,7 @@ msgstr "创建优先级" msgid "Priority of this build order" msgstr "此构建订单的优先级" -#: build/models.py:359 common/models.py:128 order/admin.py:18 +#: build/models.py:359 common/models.py:127 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 @@ -1119,9 +1119,9 @@ msgid "Build output does not match Build Order" msgstr "生产产出与订单不匹配" #: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1489 part/serializers.py:1889 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:601 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "数量必须大于0" @@ -1150,10 +1150,10 @@ msgstr "生产备注" #: build/models.py:1391 build/models.py:1647 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2512 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1339 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4069 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,7 +1163,7 @@ msgstr "生产备注" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 -#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1174,8 +1174,8 @@ msgstr "生产备注" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1228,9 +1228,9 @@ msgstr "序列化库存的数量必须是 1" msgid "Selected stock item does not match BOM line" msgstr "在BOM中找不到选定的库存项" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1183 -#: order/serializers.py:1204 stock/models.py:360 stock/serializers.py:92 -#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1295,8 +1295,8 @@ msgstr "对于可追踪的部件,需要整数型数值" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "需要整数型数值,因为BOM包含可追踪的部件" -#: build/serializers.py:294 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "序列号" @@ -1306,10 +1306,10 @@ msgid "Enter serial numbers for build outputs" msgstr "输入生产产出的序列号" #: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1145 stock/serializers.py:101 stock/serializers.py:623 -#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 -#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1381,8 +1381,8 @@ msgstr "已完成生产产出的仓储地点" #: build/serializers.py:520 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:930 stock/serializers.py:1469 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1458,7 +1458,7 @@ msgstr "接受库存项未被完成分配至此生产订单" msgid "Required stock has not been fully allocated" msgstr "所需库存尚未完全分配" -#: build/serializers.py:712 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 msgid "Accept Incomplete" msgstr "接受未完成" @@ -1498,11 +1498,11 @@ msgstr "删除参数" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part 必须与生产订单指向相同的部件" -#: build/serializers.py:853 stock/serializers.py:1194 +#: build/serializers.py:853 stock/serializers.py:1197 msgid "Item must be in stock" msgstr "项目必须在库存中" -#: build/serializers.py:901 order/serializers.py:1237 +#: build/serializers.py:901 order/serializers.py:1238 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "可用量 ({q}) 超出了限制" @@ -1515,7 +1515,7 @@ msgstr "对于被追踪的部件的分配,必须指定生产产出" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "对于未被追踪的部件,无法指定生产产出" -#: build/serializers.py:938 order/serializers.py:1489 +#: build/serializers.py:938 order/serializers.py:1490 msgid "Allocation items must be provided" msgstr "必须提供分配的项" @@ -1559,7 +1559,7 @@ msgstr "分配可选的BOM项目来建立订单" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3964 part/models.py:4400 +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 #: stock/api.py:794 msgid "BOM Item" msgstr "BOM项" @@ -1569,21 +1569,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:833 part/serializers.py:1507 +#: part/serializers.py:835 part/serializers.py:1509 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 -#: templates/js/translated/part.js:2148 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1159 part/serializers.py:1509 +#: build/serializers.py:1159 part/serializers.py:1511 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "正在生产" -#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1532 +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1743,7 +1743,7 @@ msgstr "库存尚未被完全分配到此构建订单" #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1971,11 +1971,11 @@ msgstr "附件" msgid "Build Notes" msgstr "生产备注" -#: build/templates/build/detail.html:435 +#: build/templates/build/detail.html:437 msgid "Allocation Complete" msgstr "分配完成" -#: build/templates/build/detail.html:436 +#: build/templates/build/detail.html:438 #, fuzzy #| msgid "Required stock has not been fully allocated" msgid "All lines have been fully allocated" @@ -2056,371 +2056,362 @@ msgstr "{name.title()} 文件" msgid "Select {name} file to upload" msgstr "选择 {name} 文件上传" -#: common/models.py:70 +#: common/models.py:69 msgid "Updated" msgstr "已更新" -#: common/models.py:71 +#: common/models.py:70 msgid "Timestamp of last update" msgstr "最后一次更新时间" -#: common/models.py:104 +#: common/models.py:103 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:129 +#: common/models.py:128 msgid "Unique project code" msgstr "" -#: common/models.py:136 +#: common/models.py:135 #, fuzzy #| msgid "Part description" msgid "Project description" msgstr "商品描述" -#: common/models.py:145 +#: common/models.py:144 #, fuzzy #| msgid "User or group responsible for this order" msgid "User or group responsible for this project" msgstr "负责此订单的用户或群组" -#: common/models.py:765 +#: common/models.py:764 msgid "Settings key (must be unique - case insensitive)" msgstr "设置键值(必须是唯一的 - 大小写不敏感)" -#: common/models.py:769 +#: common/models.py:768 msgid "Settings value" msgstr "设定值" -#: common/models.py:821 +#: common/models.py:820 msgid "Chosen value is not a valid option" msgstr "选择的值不是一个有效的选项" -#: common/models.py:837 +#: common/models.py:836 msgid "Value must be a boolean value" msgstr "值必须是布尔量" -#: common/models.py:845 +#: common/models.py:844 msgid "Value must be an integer value" msgstr "值必须为整数" -#: common/models.py:882 +#: common/models.py:881 msgid "Key string must be unique" msgstr "关键字必须是唯一的" -#: common/models.py:1114 +#: common/models.py:1113 msgid "No group" msgstr "无群组" -#: common/models.py:1157 -msgid "An empty domain is not allowed." -msgstr "不允许空域。" - -#: common/models.py:1159 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "无效的域名: {domain}" - -#: common/models.py:1226 +#: common/models.py:1212 msgid "Restart required" msgstr "需要重启" -#: common/models.py:1228 +#: common/models.py:1214 msgid "A setting has been changed which requires a server restart" msgstr "设置已更改,需要服务器重启" -#: common/models.py:1235 +#: common/models.py:1221 #, fuzzy #| msgid "Printing Actions" msgid "Pending migrations" msgstr "打印操作" -#: common/models.py:1236 +#: common/models.py:1222 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1227 msgid "Server Instance Name" msgstr "服务器实例名称" -#: common/models.py:1243 +#: common/models.py:1229 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1247 +#: common/models.py:1233 msgid "Use instance name" msgstr "" -#: common/models.py:1248 +#: common/models.py:1234 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1253 +#: common/models.py:1239 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1254 +#: common/models.py:1240 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1259 company/models.py:108 company/models.py:109 +#: common/models.py:1245 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "公司名称" -#: common/models.py:1260 +#: common/models.py:1246 msgid "Internal company name" msgstr "内部公司名称" -#: common/models.py:1264 +#: common/models.py:1250 msgid "Base URL" msgstr "" -#: common/models.py:1265 +#: common/models.py:1251 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1271 +#: common/models.py:1257 msgid "Default Currency" msgstr "" -#: common/models.py:1272 +#: common/models.py:1258 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1278 +#: common/models.py:1264 msgid "Supported Currencies" msgstr "" -#: common/models.py:1279 +#: common/models.py:1265 #, fuzzy #| msgid "Not a valid currency code" msgid "List of supported currency codes" msgstr "不是有效的货币代码" -#: common/models.py:1285 +#: common/models.py:1271 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1287 +#: common/models.py:1273 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1290 common/models.py:1346 common/models.py:1359 -#: common/models.py:1367 common/models.py:1376 common/models.py:1385 -#: common/models.py:1593 common/models.py:1615 common/models.py:1730 -#: common/models.py:2049 +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 msgid "days" msgstr "天" -#: common/models.py:1294 +#: common/models.py:1280 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1295 +#: common/models.py:1281 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1300 +#: common/models.py:1286 msgid "Download from URL" msgstr "" -#: common/models.py:1302 +#: common/models.py:1288 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1308 +#: common/models.py:1294 msgid "Download Size Limit" msgstr "" -#: common/models.py:1309 +#: common/models.py:1295 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1315 +#: common/models.py:1301 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1317 +#: common/models.py:1303 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1322 +#: common/models.py:1308 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1323 +#: common/models.py:1309 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1328 +#: common/models.py:1314 msgid "Require confirm" msgstr "" -#: common/models.py:1329 +#: common/models.py:1315 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1334 +#: common/models.py:1320 msgid "Tree Depth" msgstr "" -#: common/models.py:1336 +#: common/models.py:1322 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1342 +#: common/models.py:1328 msgid "Update Check Interval" msgstr "" -#: common/models.py:1343 +#: common/models.py:1329 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1349 +#: common/models.py:1335 msgid "Automatic Backup" msgstr "" -#: common/models.py:1350 +#: common/models.py:1336 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1355 +#: common/models.py:1341 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1356 +#: common/models.py:1342 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1362 +#: common/models.py:1348 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1364 +#: common/models.py:1350 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1371 +#: common/models.py:1357 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1373 +#: common/models.py:1359 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1380 +#: common/models.py:1366 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1382 +#: common/models.py:1368 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1389 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1376 #, fuzzy #| msgid "Enable barcode scanner support" msgid "Enable barcode scanner support in the web interface" msgstr "启用条形码扫描支持" -#: common/models.py:1395 +#: common/models.py:1381 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1396 +#: common/models.py:1382 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1402 +#: common/models.py:1388 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1403 +#: common/models.py:1389 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1408 +#: common/models.py:1394 #, fuzzy #| msgid "Part description" msgid "Part Revisions" msgstr "商品描述" -#: common/models.py:1409 +#: common/models.py:1395 #, fuzzy #| msgid "Enable internal prices for parts" msgid "Enable revision field for Part" msgstr "启用内部商品价格" -#: common/models.py:1414 +#: common/models.py:1400 #, fuzzy #| msgid "Removed from assembly" msgid "Allow Deletion from Assembly" msgstr "已从组装中删除" -#: common/models.py:1415 +#: common/models.py:1401 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1420 +#: common/models.py:1406 msgid "IPN Regex" msgstr "" -#: common/models.py:1421 +#: common/models.py:1407 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1424 +#: common/models.py:1410 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1425 +#: common/models.py:1411 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1430 +#: common/models.py:1416 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1431 +#: common/models.py:1417 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1436 +#: common/models.py:1422 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1437 +#: common/models.py:1423 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1442 +#: common/models.py:1428 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1443 +#: common/models.py:1429 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1448 +#: common/models.py:1434 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1449 +#: common/models.py:1435 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1454 +#: common/models.py:1440 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1455 +#: common/models.py:1441 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1460 part/admin.py:108 part/models.py:3806 +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2428,1195 +2419,1195 @@ msgstr "" msgid "Template" msgstr "模板" -#: common/models.py:1461 +#: common/models.py:1447 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1466 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "组装" -#: common/models.py:1467 +#: common/models.py:1453 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1472 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "组件" -#: common/models.py:1473 +#: common/models.py:1459 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1478 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 msgid "Purchaseable" msgstr "可购买" -#: common/models.py:1479 +#: common/models.py:1465 msgid "Parts are purchaseable by default" msgstr "商品默认可购买" -#: common/models.py:1484 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "可销售" -#: common/models.py:1485 +#: common/models.py:1471 msgid "Parts are salable by default" msgstr "商品默认可销售" -#: common/models.py:1490 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "可追踪" -#: common/models.py:1491 +#: common/models.py:1477 msgid "Parts are trackable by default" msgstr "商品默认可跟踪" -#: common/models.py:1496 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "虚拟" -#: common/models.py:1497 +#: common/models.py:1483 msgid "Parts are virtual by default" msgstr "商品默认是虚拟的" -#: common/models.py:1502 +#: common/models.py:1488 msgid "Show Import in Views" msgstr "视图中显示导入" -#: common/models.py:1503 +#: common/models.py:1489 msgid "Display the import wizard in some part views" msgstr "在一些商品视图中显示导入向导" -#: common/models.py:1508 +#: common/models.py:1494 msgid "Show related parts" msgstr "显示相关商品" -#: common/models.py:1509 +#: common/models.py:1495 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1514 +#: common/models.py:1500 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1501 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1520 templates/js/translated/part.js:107 +#: common/models.py:1506 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1522 +#: common/models.py:1508 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1528 +#: common/models.py:1514 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1529 +#: common/models.py:1515 msgid "Format to display the part name" msgstr "" -#: common/models.py:1535 +#: common/models.py:1521 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1536 +#: common/models.py:1522 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1540 +#: common/models.py:1526 #, fuzzy #| msgid "Parameter units" msgid "Enforce Parameter Units" msgstr "参数单位" -#: common/models.py:1542 +#: common/models.py:1528 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1548 +#: common/models.py:1534 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1550 +#: common/models.py:1536 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1556 +#: common/models.py:1547 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1558 +#: common/models.py:1549 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1564 +#: common/models.py:1560 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1566 +#: common/models.py:1562 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1572 +#: common/models.py:1568 msgid "Purchase History Override" msgstr "" -#: common/models.py:1574 +#: common/models.py:1570 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1580 +#: common/models.py:1576 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1582 +#: common/models.py:1578 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1588 +#: common/models.py:1584 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1590 +#: common/models.py:1586 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1597 +#: common/models.py:1593 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1598 +#: common/models.py:1594 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1603 +#: common/models.py:1599 msgid "Active Variants Only" msgstr "" -#: common/models.py:1605 +#: common/models.py:1601 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1611 +#: common/models.py:1607 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1613 +#: common/models.py:1609 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1620 +#: common/models.py:1616 msgid "Internal Prices" msgstr "内部价格" -#: common/models.py:1621 +#: common/models.py:1617 msgid "Enable internal prices for parts" msgstr "启用内部商品价格" -#: common/models.py:1626 +#: common/models.py:1622 msgid "Internal Price Override" msgstr "" -#: common/models.py:1628 +#: common/models.py:1624 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1634 +#: common/models.py:1630 msgid "Enable label printing" msgstr "" -#: common/models.py:1635 +#: common/models.py:1631 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1640 +#: common/models.py:1636 msgid "Label Image DPI" msgstr "" -#: common/models.py:1642 +#: common/models.py:1638 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1648 +#: common/models.py:1644 msgid "Enable Reports" msgstr "" -#: common/models.py:1649 +#: common/models.py:1645 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1654 templates/stats.html:25 +#: common/models.py:1650 templates/stats.html:25 msgid "Debug Mode" msgstr "调试模式" -#: common/models.py:1655 +#: common/models.py:1651 msgid "Generate reports in debug mode (HTML output)" msgstr "在调试模式生成报告(HTML输出)" -#: common/models.py:1660 +#: common/models.py:1656 #, fuzzy #| msgid "No Reports Found" msgid "Log Report Errors" msgstr "没有找到报表" -#: common/models.py:1661 +#: common/models.py:1657 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1666 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "页面大小" -#: common/models.py:1667 +#: common/models.py:1663 msgid "Default page size for PDF reports" msgstr "PDF 报表默认页面大小" -#: common/models.py:1672 +#: common/models.py:1668 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1673 +#: common/models.py:1669 msgid "Enable generation of test reports" msgstr "启用生成测试报表" -#: common/models.py:1678 +#: common/models.py:1674 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1680 +#: common/models.py:1676 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1686 +#: common/models.py:1682 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1687 +#: common/models.py:1683 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1692 +#: common/models.py:1688 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1693 +#: common/models.py:1689 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1698 +#: common/models.py:1694 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1700 +#: common/models.py:1696 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1706 +#: common/models.py:1702 msgid "Batch Code Template" msgstr "" -#: common/models.py:1708 +#: common/models.py:1704 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1713 +#: common/models.py:1709 msgid "Stock Expiry" msgstr "库存到期" -#: common/models.py:1714 +#: common/models.py:1710 msgid "Enable stock expiry functionality" msgstr "启用库存到期功能" -#: common/models.py:1719 +#: common/models.py:1715 msgid "Sell Expired Stock" msgstr "销售过期库存" -#: common/models.py:1720 +#: common/models.py:1716 msgid "Allow sale of expired stock" msgstr "允许销售过期库存" -#: common/models.py:1725 +#: common/models.py:1721 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1727 +#: common/models.py:1723 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1734 +#: common/models.py:1730 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1735 +#: common/models.py:1731 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1736 msgid "Stock Ownership Control" msgstr "库存所有权控制" -#: common/models.py:1741 +#: common/models.py:1737 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1746 +#: common/models.py:1742 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1747 +#: common/models.py:1743 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1751 +#: common/models.py:1747 #, fuzzy #| msgid "Select Stock Items" msgid "Show Installed Stock Items" msgstr "选择库存项" -#: common/models.py:1752 +#: common/models.py:1748 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1757 +#: common/models.py:1753 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1759 +#: common/models.py:1755 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1765 +#: common/models.py:1761 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1767 +#: common/models.py:1763 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1773 +#: common/models.py:1769 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1775 +#: common/models.py:1771 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1781 common/models.py:1809 common/models.py:1831 -#: common/models.py:1867 +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 #, fuzzy #| msgid "Responsible" msgid "Require Responsible Owner" msgstr "责任人" -#: common/models.py:1782 common/models.py:1810 common/models.py:1832 -#: common/models.py:1868 +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1787 +#: common/models.py:1783 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1789 +#: common/models.py:1785 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1795 +#: common/models.py:1791 #, fuzzy #| msgid "Sales Orders" msgid "Enable Return Orders" msgstr "销售订单" -#: common/models.py:1796 +#: common/models.py:1792 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1801 +#: common/models.py:1797 #, fuzzy #| msgid "Build Order Reference" msgid "Return Order Reference Pattern" msgstr "相关生产订单" -#: common/models.py:1803 +#: common/models.py:1799 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1815 +#: common/models.py:1811 #, fuzzy #| msgid "Complete Build Order" msgid "Edit Completed Return Orders" msgstr "生产订单完成" -#: common/models.py:1817 +#: common/models.py:1813 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1823 +#: common/models.py:1819 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1825 +#: common/models.py:1821 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1837 +#: common/models.py:1833 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1838 +#: common/models.py:1834 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1843 +#: common/models.py:1839 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1845 +#: common/models.py:1841 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1851 +#: common/models.py:1847 #, fuzzy #| msgid "Build Order is incomplete" msgid "Mark Shipped Orders as Complete" msgstr "生产订单未完成" -#: common/models.py:1853 +#: common/models.py:1849 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1859 +#: common/models.py:1855 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1861 +#: common/models.py:1857 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1873 +#: common/models.py:1869 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1875 +#: common/models.py:1871 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1881 +#: common/models.py:1877 #, fuzzy #| msgid "Create Purchase Order" msgid "Auto Complete Purchase Orders" msgstr "创建采购订单" -#: common/models.py:1883 +#: common/models.py:1879 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1890 +#: common/models.py:1886 msgid "Enable password forgot" msgstr "" -#: common/models.py:1891 +#: common/models.py:1887 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1896 +#: common/models.py:1892 msgid "Enable registration" msgstr "" -#: common/models.py:1897 +#: common/models.py:1893 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1902 +#: common/models.py:1898 msgid "Enable SSO" msgstr "" -#: common/models.py:1903 +#: common/models.py:1899 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1904 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1910 +#: common/models.py:1906 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1916 +#: common/models.py:1912 msgid "Email required" msgstr "" -#: common/models.py:1917 +#: common/models.py:1913 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1922 +#: common/models.py:1918 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1924 +#: common/models.py:1920 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1930 +#: common/models.py:1926 msgid "Mail twice" msgstr "" -#: common/models.py:1931 +#: common/models.py:1927 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1936 +#: common/models.py:1932 msgid "Password twice" msgstr "" -#: common/models.py:1937 +#: common/models.py:1933 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1942 +#: common/models.py:1938 msgid "Allowed domains" msgstr "" -#: common/models.py:1944 +#: common/models.py:1940 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1950 +#: common/models.py:1946 msgid "Group on signup" msgstr "" -#: common/models.py:1951 +#: common/models.py:1947 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1956 +#: common/models.py:1952 msgid "Enforce MFA" msgstr "" -#: common/models.py:1957 +#: common/models.py:1953 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1962 +#: common/models.py:1958 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1964 +#: common/models.py:1960 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1972 +#: common/models.py:1968 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1973 +#: common/models.py:1969 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1979 +#: common/models.py:1975 msgid "Enable URL integration" msgstr "" -#: common/models.py:1980 +#: common/models.py:1976 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1986 +#: common/models.py:1982 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1987 +#: common/models.py:1983 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1993 +#: common/models.py:1989 msgid "Enable app integration" msgstr "" -#: common/models.py:1994 +#: common/models.py:1990 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2000 +#: common/models.py:1996 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2001 +#: common/models.py:1997 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2007 +#: common/models.py:2003 msgid "Enable event integration" msgstr "" -#: common/models.py:2008 +#: common/models.py:2004 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2014 +#: common/models.py:2010 #, fuzzy #| msgid "Sales Orders" msgid "Enable project codes" msgstr "销售订单" -#: common/models.py:2015 +#: common/models.py:2011 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2020 +#: common/models.py:2016 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2022 +#: common/models.py:2018 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2028 +#: common/models.py:2024 #, fuzzy #| msgid "Exclude Location" msgid "Exclude External Locations" msgstr "排除地点" -#: common/models.py:2030 +#: common/models.py:2026 #, fuzzy #| msgid "Exclude stock items from this selected location" msgid "Exclude stock items in external locations from stocktake calculations" msgstr "从该选定的仓储地点排除库存项" -#: common/models.py:2036 +#: common/models.py:2032 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2038 +#: common/models.py:2034 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2044 +#: common/models.py:2040 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2046 +#: common/models.py:2042 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2053 +#: common/models.py:2049 msgid "Display Users full names" msgstr "" -#: common/models.py:2054 +#: common/models.py:2050 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2059 +#: common/models.py:2055 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2060 +#: common/models.py:2056 #, fuzzy #| msgid "Enable generation of test reports" msgid "Enable test station data collection for test results" msgstr "启用生成测试报表" -#: common/models.py:2072 common/models.py:2482 +#: common/models.py:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2115 +#: common/models.py:2111 #, fuzzy #| msgid "Build to allocate parts" msgid "Hide inactive parts" msgstr "生产以分配部件" -#: common/models.py:2117 +#: common/models.py:2113 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2123 +#: common/models.py:2119 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2124 +#: common/models.py:2120 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2129 +#: common/models.py:2125 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2130 +#: common/models.py:2126 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2131 msgid "Show latest parts" msgstr "显示最近商品" -#: common/models.py:2136 +#: common/models.py:2132 msgid "Show latest parts on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:2141 +#: common/models.py:2137 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2142 +#: common/models.py:2138 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2147 +#: common/models.py:2143 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2148 +#: common/models.py:2144 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2153 +#: common/models.py:2149 msgid "Show low stock" msgstr "" -#: common/models.py:2154 +#: common/models.py:2150 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2155 msgid "Show depleted stock" msgstr "" -#: common/models.py:2160 +#: common/models.py:2156 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2161 msgid "Show needed stock" msgstr "" -#: common/models.py:2166 +#: common/models.py:2162 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2171 +#: common/models.py:2167 msgid "Show expired stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2168 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2173 msgid "Show stale stock" msgstr "" -#: common/models.py:2178 +#: common/models.py:2174 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2179 msgid "Show pending builds" msgstr "" -#: common/models.py:2184 +#: common/models.py:2180 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2185 msgid "Show overdue builds" msgstr "显示逾期生产" -#: common/models.py:2190 +#: common/models.py:2186 msgid "Show overdue builds on the homepage" msgstr "在主页上显示逾期的生产" -#: common/models.py:2195 +#: common/models.py:2191 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2196 +#: common/models.py:2192 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2197 msgid "Show overdue POs" msgstr "" -#: common/models.py:2202 +#: common/models.py:2198 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2207 +#: common/models.py:2203 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2204 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2209 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2210 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2215 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2220 +#: common/models.py:2216 #, fuzzy #| msgid "Show latest parts on the homepage" msgid "Show pending SO shipments on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:2225 +#: common/models.py:2221 msgid "Show News" msgstr "" -#: common/models.py:2226 +#: common/models.py:2222 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2227 msgid "Inline label display" msgstr "内嵌标签显示" -#: common/models.py:2233 +#: common/models.py:2229 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载" -#: common/models.py:2239 +#: common/models.py:2235 msgid "Default label printer" msgstr "" -#: common/models.py:2241 +#: common/models.py:2237 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2247 +#: common/models.py:2243 msgid "Inline report display" msgstr "" -#: common/models.py:2249 +#: common/models.py:2245 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载" -#: common/models.py:2255 +#: common/models.py:2251 msgid "Search Parts" msgstr "" -#: common/models.py:2256 +#: common/models.py:2252 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2261 +#: common/models.py:2257 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2262 +#: common/models.py:2258 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2267 +#: common/models.py:2263 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2268 +#: common/models.py:2264 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2269 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2270 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2275 msgid "Search Categories" msgstr "" -#: common/models.py:2280 +#: common/models.py:2276 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2281 msgid "Search Stock" msgstr "" -#: common/models.py:2286 +#: common/models.py:2282 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2287 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2293 +#: common/models.py:2289 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2299 +#: common/models.py:2295 msgid "Search Locations" msgstr "" -#: common/models.py:2300 +#: common/models.py:2296 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2305 +#: common/models.py:2301 msgid "Search Companies" msgstr "" -#: common/models.py:2306 +#: common/models.py:2302 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2307 msgid "Search Build Orders" msgstr "" -#: common/models.py:2312 +#: common/models.py:2308 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2313 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2318 +#: common/models.py:2314 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2319 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2325 +#: common/models.py:2321 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2331 +#: common/models.py:2327 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2332 +#: common/models.py:2328 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2337 +#: common/models.py:2333 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2339 +#: common/models.py:2335 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2345 +#: common/models.py:2341 #, fuzzy #| msgid "Purchase Orders" msgid "Search Return Orders" msgstr "采购订单" -#: common/models.py:2346 +#: common/models.py:2342 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2351 +#: common/models.py:2347 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2353 +#: common/models.py:2349 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2359 +#: common/models.py:2355 msgid "Search Preview Results" msgstr "搜索预览结果" -#: common/models.py:2361 +#: common/models.py:2357 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2367 +#: common/models.py:2363 #, fuzzy #| msgid "Search" msgid "Regex Search" msgstr "搜索" -#: common/models.py:2368 +#: common/models.py:2364 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2373 +#: common/models.py:2369 msgid "Whole Word Search" msgstr "" -#: common/models.py:2374 +#: common/models.py:2370 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2379 +#: common/models.py:2375 msgid "Show Quantity in Forms" msgstr "在表格中显示数量" -#: common/models.py:2380 +#: common/models.py:2376 msgid "Display available part quantity in some forms" msgstr "在某些表格中显示可用的商品数量" -#: common/models.py:2385 +#: common/models.py:2381 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2386 +#: common/models.py:2382 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2391 +#: common/models.py:2387 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2392 +#: common/models.py:2388 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2397 +#: common/models.py:2393 msgid "Date Format" msgstr "" -#: common/models.py:2398 +#: common/models.py:2394 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2411 part/templates/part/detail.html:41 +#: common/models.py:2407 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2412 +#: common/models.py:2408 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2417 part/templates/part/detail.html:62 +#: common/models.py:2413 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2419 +#: common/models.py:2415 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2425 +#: common/models.py:2421 msgid "Table String Length" msgstr "" -#: common/models.py:2427 +#: common/models.py:2423 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2433 +#: common/models.py:2429 #, fuzzy #| msgid "Select Label Template" msgid "Default part label template" msgstr "选择标签模板" -#: common/models.py:2434 +#: common/models.py:2430 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2439 +#: common/models.py:2435 #, fuzzy #| msgid "stock items selected" msgid "Default stock item template" msgstr "已选择库存项" -#: common/models.py:2441 +#: common/models.py:2437 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2447 +#: common/models.py:2443 #, fuzzy #| msgid "No stock location set" msgid "Default stock location label template" msgstr "未设置仓储地点" -#: common/models.py:2449 +#: common/models.py:2445 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2455 +#: common/models.py:2451 #, fuzzy #| msgid "No stock location set" msgid "Default build line label template" msgstr "未设置仓储地点" -#: common/models.py:2457 +#: common/models.py:2453 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2463 +#: common/models.py:2459 msgid "Receive error reports" msgstr "" -#: common/models.py:2464 +#: common/models.py:2460 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2469 +#: common/models.py:2465 msgid "Last used printing machines" msgstr "" -#: common/models.py:2470 +#: common/models.py:2466 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2513 +#: common/models.py:2509 msgid "Price break quantity" msgstr "" -#: common/models.py:2520 company/serializers.py:496 order/admin.py:42 +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 #: order/models.py:1382 order/models.py:2301 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "价格" -#: common/models.py:2521 +#: common/models.py:2517 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2616 common/models.py:2801 +#: common/models.py:2612 common/models.py:2797 msgid "Endpoint" msgstr "" -#: common/models.py:2617 +#: common/models.py:2613 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2627 +#: common/models.py:2623 msgid "Name for this webhook" msgstr "" -#: common/models.py:2631 company/models.py:160 company/models.py:814 +#: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 #: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 @@ -3628,101 +3619,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2631 +#: common/models.py:2627 msgid "Is this webhook active" msgstr "" -#: common/models.py:2647 users/models.py:159 +#: common/models.py:2643 users/models.py:159 msgid "Token" msgstr "令牌" -#: common/models.py:2648 +#: common/models.py:2644 msgid "Token for access" msgstr "" -#: common/models.py:2656 +#: common/models.py:2652 msgid "Secret" msgstr "" -#: common/models.py:2657 +#: common/models.py:2653 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2765 +#: common/models.py:2761 msgid "Message ID" msgstr "" -#: common/models.py:2766 +#: common/models.py:2762 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2774 +#: common/models.py:2770 msgid "Host" msgstr "" -#: common/models.py:2775 +#: common/models.py:2771 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2783 +#: common/models.py:2779 msgid "Header" msgstr "" -#: common/models.py:2784 +#: common/models.py:2780 msgid "Header of this message" msgstr "" -#: common/models.py:2791 +#: common/models.py:2787 msgid "Body" msgstr "" -#: common/models.py:2792 +#: common/models.py:2788 msgid "Body of this message" msgstr "" -#: common/models.py:2802 +#: common/models.py:2798 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2807 +#: common/models.py:2803 msgid "Worked on" msgstr "" -#: common/models.py:2808 +#: common/models.py:2804 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2934 +#: common/models.py:2930 msgid "Id" msgstr "" -#: common/models.py:2936 templates/js/translated/company.js:965 +#: common/models.py:2932 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2940 templates/js/translated/news.js:60 +#: common/models.py:2936 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2942 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:2944 templates/js/translated/news.js:52 +#: common/models.py:2940 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2947 +#: common/models.py:2943 msgid "Read" msgstr "" -#: common/models.py:2947 +#: common/models.py:2943 msgid "Was this news item read?" msgstr "" -#: common/models.py:2964 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:973 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3732,41 +3723,53 @@ msgstr "" msgid "Image" msgstr "图片" -#: common/models.py:2964 +#: common/models.py:2960 #, fuzzy #| msgid "Image" msgid "Image file" msgstr "图片" -#: common/models.py:3006 +#: common/models.py:2972 +#, fuzzy +#| msgid "Part Parameter Templates" +msgid "Target model type for this image" +msgstr "商品参数模板" + +#: common/models.py:2976 +#, fuzzy +#| msgid "Part Parameter Templates" +msgid "Target model ID for this image" +msgstr "商品参数模板" + +#: common/models.py:3017 #, fuzzy #| msgid "Must be a valid number" msgid "Unit name must be a valid identifier" msgstr "必须是有效数字" -#: common/models.py:3025 +#: common/models.py:3036 #, fuzzy #| msgid "Part name" msgid "Unit name" msgstr "商品名称" -#: common/models.py:3032 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3033 +#: common/models.py:3044 #, fuzzy #| msgid "Optional Items" msgid "Optional unit symbol" msgstr "可选项目" -#: common/models.py:3040 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 #, fuzzy #| msgid "Destination" msgid "Definition" msgstr "目的地" -#: common/models.py:3041 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3880,6 +3883,23 @@ msgstr "关键词" msgid "Task keyword arguments" msgstr "" +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "不允许空域。" + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "无效的域名: {domain}" + #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 @@ -4140,7 +4160,7 @@ msgid "Link to address information (external)" msgstr "描述 (可选)" #: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4151,7 +4171,7 @@ msgstr "选择商品" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:531 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4166,11 +4186,11 @@ msgid "Select manufacturer" msgstr "选择制造商" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:541 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 -#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" @@ -4200,8 +4220,8 @@ msgid "Parameter name" msgstr "参数名称" #: company/models.py:621 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2429 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "数值" @@ -4211,10 +4231,10 @@ msgid "Parameter value" msgstr "参数值" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3657 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" msgstr "单位" @@ -4239,13 +4259,13 @@ msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:515 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 @@ -4256,7 +4276,7 @@ msgstr "供应商" msgid "Select supplier" msgstr "选择供应商" -#: company/models.py:809 part/serializers.py:526 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4279,13 +4299,13 @@ msgid "Supplier part description" msgstr "供应商商品描述" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4104 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:708 +#: stock/serializers.py:711 msgid "Note" msgstr "备注" @@ -4298,7 +4318,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "最低收费(例如库存费)" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:799 stock/serializers.py:1479 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4310,7 +4330,7 @@ msgid "Part packaging" msgstr "商品打包" #: company/models.py:871 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4343,11 +4363,11 @@ msgstr "" msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:163 +#: company/serializers.py:164 msgid "Default currency used for this supplier" msgstr "该公司使用的默认货币" -#: company/serializers.py:381 part/admin.py:126 +#: company/serializers.py:382 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4359,7 +4379,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" msgstr "" @@ -4422,7 +4442,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:940 #: order/models.py:2068 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1229 +#: stock/models.py:822 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4647,7 +4667,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:837 +#: part/admin.py:122 part/serializers.py:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4668,7 +4688,7 @@ msgid "New Parameter" msgstr "新建参数" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1422 +#: templates/js/translated/part.js:1423 msgid "Add Parameter" msgstr "添加参数" @@ -4751,8 +4771,8 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:525 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4801,15 +4821,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:836 part/stocktake.py:224 +#: part/serializers.py:838 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:916 stock/serializers.py:1080 +#: stock/serializers.py:919 stock/serializers.py:1083 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -4976,7 +4996,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:161 order/serializers.py:91 +#: order/api.py:161 order/serializers.py:92 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 @@ -5017,7 +5037,7 @@ msgstr "待定" #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1673 @@ -5042,13 +5062,13 @@ msgstr "已退回" msgid "Total price for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:95 order/serializers.py:72 #, fuzzy #| msgid "Currency" msgid "Order Currency" msgstr "货币" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:98 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -5238,7 +5258,7 @@ msgid "Supplier part" msgstr "供应商商品" #: order/models.py:1458 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5251,7 +5271,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:529 +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" @@ -5313,8 +5333,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" @@ -5362,7 +5382,7 @@ msgstr "" msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1231 +#: order/models.py:1924 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5442,7 +5462,7 @@ msgstr "" msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:80 order/templates/order/po_sidebar.html:5 +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_purchase_order_report.html:22 @@ -5451,175 +5471,175 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:84 +#: order/serializers.py:85 #, fuzzy #| msgid "Completed items" msgid "Completed Lines" msgstr "已完成项目" -#: order/serializers.py:287 +#: order/serializers.py:288 msgid "Order cannot be cancelled" msgstr "无法取消订单" -#: order/serializers.py:302 order/serializers.py:1247 +#: order/serializers.py:303 order/serializers.py:1248 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:312 order/serializers.py:1257 +#: order/serializers.py:313 order/serializers.py:1258 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:441 msgid "Order is not open" msgstr "" -#: order/serializers.py:461 +#: order/serializers.py:462 #, fuzzy #| msgid "Part Pricing" msgid "Auto Pricing" msgstr "商品价格" -#: order/serializers.py:463 +#: order/serializers.py:464 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:474 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:479 +#: order/serializers.py:480 #, fuzzy #| msgid "Select Stock Items" msgid "Merge Items" msgstr "选择库存项" -#: order/serializers.py:481 +#: order/serializers.py:482 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:503 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:511 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:512 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:550 order/serializers.py:1325 +#: order/serializers.py:551 order/serializers.py:1326 msgid "Line Item" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:557 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:582 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:590 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:601 templates/js/translated/barcode.js:52 +#: order/serializers.py:602 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "条形码" -#: order/serializers.py:602 +#: order/serializers.py:603 #, fuzzy #| msgid "Scan Barcode" msgid "Scanned barcode" msgstr "扫描条形码" -#: order/serializers.py:618 +#: order/serializers.py:619 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:642 +#: order/serializers.py:643 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:690 order/serializers.py:1696 +#: order/serializers.py:691 order/serializers.py:1697 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:706 +#: order/serializers.py:707 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:717 +#: order/serializers.py:718 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1074 +#: order/serializers.py:1075 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1134 +#: order/serializers.py:1135 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1195 order/serializers.py:1334 +#: order/serializers.py:1196 order/serializers.py:1335 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1215 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1344 +#: order/serializers.py:1345 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1366 order/serializers.py:1472 +#: order/serializers.py:1367 order/serializers.py:1473 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1369 order/serializers.py:1475 +#: order/serializers.py:1370 order/serializers.py:1476 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1416 +#: order/serializers.py:1417 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1423 +#: order/serializers.py:1424 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1650 +#: order/serializers.py:1651 msgid "Return order line item" msgstr "" -#: order/serializers.py:1656 +#: order/serializers.py:1657 #, fuzzy #| msgid "Build output does not match Build Order" msgid "Line item does not match return order" msgstr "生产产出与订单不匹配" -#: order/serializers.py:1659 +#: order/serializers.py:1660 #, fuzzy #| msgid "This build output has already been completed" msgid "Line item has already been received" msgstr "此生产产出已经完成" -#: order/serializers.py:1688 +#: order/serializers.py:1689 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1767 #, fuzzy #| msgid "Uses default currency" msgid "Line price currency" @@ -5967,7 +5987,7 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1072 +#: templates/js/translated/part.js:1073 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -6077,12 +6097,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3955 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "商品ID" -#: part/admin.py:41 part/admin.py:413 part/models.py:3956 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -6093,14 +6113,14 @@ msgstr "" #: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" #: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" @@ -6143,22 +6163,22 @@ msgstr "最低库存" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 -#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" msgstr "" #: part/admin.py:155 part/models.py:3114 part/models.py:3128 -#: templates/js/translated/part.js:969 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" #: part/admin.py:158 part/models.py:3121 part/models.py:3135 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6172,13 +6192,13 @@ msgid "Category Path" msgstr "类别路径" #: part/admin.py:325 part/models.py:394 part/serializers.py:118 -#: part/serializers.py:273 part/serializers.py:392 +#: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "商品" @@ -6195,17 +6215,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3957 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1279 +#: part/admin.py:423 part/serializers.py:1281 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:428 part/serializers.py:1294 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6235,7 +6255,7 @@ msgstr "" msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:169 +#: part/api.py:169 templates/js/translated/part.js:308 #, fuzzy #| msgid "parent" msgid "Parent" @@ -6295,16 +6315,16 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1515 part/models.py:940 part/models.py:3420 part/models.py:3900 -#: part/serializers.py:407 part/serializers.py:1135 +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2376 +#: templates/js/translated/part.js:2377 msgid "Category" msgstr "类别" -#: part/api.py:1803 +#: part/api.py:1802 msgid "Uses" msgstr "" @@ -6313,7 +6333,7 @@ msgstr "" msgid "Default Location" msgstr "默认仓储地点" -#: part/bom.py:171 part/serializers.py:838 +#: part/bom.py:171 part/serializers.py:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6322,7 +6342,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3901 part/templates/part/category.html:16 +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "商品类别" @@ -6337,7 +6357,7 @@ msgstr "商品类别" msgid "Default location for parts in this category" msgstr "此类别商品的默认仓储地点" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2809 +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6415,7 +6435,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3956 +#: part/models.py:899 part/models.py:3991 msgid "Part name" msgstr "商品名称" @@ -6537,7 +6557,7 @@ msgstr "负责此订单的用户或群组" #: part/models.py:1146 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2470 +#: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" @@ -6698,7 +6718,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 -#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 @@ -6757,292 +6777,296 @@ msgstr "" msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3480 -msgid "Test templates can only be created for trackable parts" -msgstr "" - -#: part/models.py:3491 -#, fuzzy -#| msgid "Attachment with this filename already exists" -msgid "Test template with the same key already exists for part" -msgstr "使用此文件名的附件已存在" - -#: part/models.py:3508 templates/js/translated/part.js:2878 -msgid "Test Name" -msgstr "" - -#: part/models.py:3509 -msgid "Enter a name for the test" -msgstr "" - -#: part/models.py:3515 -msgid "Test Key" -msgstr "" - -#: part/models.py:3516 -msgid "Simplified key for the test" -msgstr "" - -#: part/models.py:3523 -msgid "Test Description" -msgstr "" - -#: part/models.py:3524 -msgid "Enter description for this test" -msgstr "" - -#: part/models.py:3528 report/models.py:208 -#: templates/js/translated/part.js:2899 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "已启用" - -#: part/models.py:3528 -msgid "Is this test enabled?" -msgstr "" - -#: part/models.py:3533 templates/js/translated/part.js:2907 -#: templates/js/translated/table_filters.js:477 -msgid "Required" -msgstr "" - -#: part/models.py:3534 -msgid "Is this test required to pass?" -msgstr "" - -#: part/models.py:3539 templates/js/translated/part.js:2915 -msgid "Requires Value" -msgstr "" - -#: part/models.py:3540 -msgid "Does this test require a value when adding a test result?" -msgstr "" - -#: part/models.py:3545 templates/js/translated/part.js:2922 -msgid "Requires Attachment" -msgstr "" - -#: part/models.py:3547 -msgid "Does this test require a file attachment when adding a test result?" -msgstr "" - -#: part/models.py:3594 -msgid "Checkbox parameters cannot have units" -msgstr "" - -#: part/models.py:3599 -msgid "Checkbox parameters cannot have choices" -msgstr "" - -#: part/models.py:3619 +#: part/models.py:3490 part/models.py:3654 #, fuzzy #| msgid "Key string must be unique" msgid "Choices must be unique" msgstr "关键字必须是唯一的" -#: part/models.py:3636 +#: part/models.py:3501 +msgid "Test templates can only be created for trackable parts" +msgstr "" + +#: part/models.py:3512 +#, fuzzy +#| msgid "Attachment with this filename already exists" +msgid "Test template with the same key already exists for part" +msgstr "使用此文件名的附件已存在" + +#: part/models.py:3529 templates/js/translated/part.js:2880 +msgid "Test Name" +msgstr "" + +#: part/models.py:3530 +msgid "Enter a name for the test" +msgstr "" + +#: part/models.py:3536 +msgid "Test Key" +msgstr "" + +#: part/models.py:3537 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3544 +msgid "Test Description" +msgstr "" + +#: part/models.py:3545 +msgid "Enter description for this test" +msgstr "" + +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "已启用" + +#: part/models.py:3549 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3554 templates/js/translated/part.js:2909 +#: templates/js/translated/table_filters.js:477 +msgid "Required" +msgstr "" + +#: part/models.py:3555 +msgid "Is this test required to pass?" +msgstr "" + +#: part/models.py:3560 templates/js/translated/part.js:2917 +msgid "Requires Value" +msgstr "" + +#: part/models.py:3561 +msgid "Does this test require a value when adding a test result?" +msgstr "" + +#: part/models.py:3566 templates/js/translated/part.js:2924 +msgid "Requires Attachment" +msgstr "" + +#: part/models.py:3568 +msgid "Does this test require a file attachment when adding a test result?" +msgstr "" + +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 +msgid "Checkbox parameters cannot have units" +msgstr "" + +#: part/models.py:3634 +msgid "Checkbox parameters cannot have choices" +msgstr "" + +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3651 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3658 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3666 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3672 templates/js/translated/part.js:1627 +#: part/models.py:3707 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3673 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3678 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3679 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3756 +#: part/models.py:3791 #, fuzzy #| msgid "Invalid choice for parent build" msgid "Invalid choice for parameter value" msgstr "上级生产选项无效" -#: part/models.py:3799 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3807 part/models.py:3908 part/models.py:3909 +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:3812 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3813 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3915 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "默认值" -#: part/models.py:3916 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3954 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3955 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3957 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3958 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4048 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4058 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4059 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4070 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4076 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4082 +#: part/models.py:4117 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:55 +#: part/models.py:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4090 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4097 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4105 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4111 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4112 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4117 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4118 +#: part/models.py:4153 #, fuzzy #| msgid "Some stock items have been overallocated" msgid "This BOM item has been validated" msgstr "一些库存项已被过度分配" -#: part/models.py:4123 part/templates/part/upload_bom.html:57 +#: part/models.py:4158 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4124 +#: part/models.py:4159 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4129 part/templates/part/upload_bom.html:56 +#: part/models.py:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4130 +#: part/models.py:4165 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4215 stock/models.py:664 +#: part/models.py:4250 stock/models.py:664 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4225 part/models.py:4227 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4367 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4388 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4401 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4409 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4425 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4433 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4434 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4453 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4458 +#: part/models.py:4493 msgid "Duplicate relationship already exists" msgstr "" @@ -7052,344 +7076,344 @@ msgstr "" msgid "Subcategories" msgstr "子类别" -#: part/serializers.py:186 +#: part/serializers.py:187 msgid "Results" msgstr "" -#: part/serializers.py:187 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:211 part/serializers.py:229 stock/serializers.py:535 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:274 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:398 +#: part/serializers.py:399 #, fuzzy #| msgid "Rejected" msgid "No parts selected" msgstr "已拒绝" -#: part/serializers.py:408 +#: part/serializers.py:409 #, fuzzy #| msgid "Set category" msgid "Select category" msgstr "设置类别" -#: part/serializers.py:443 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:456 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:471 #, fuzzy #| msgid "Company Notes" msgid "Copy Notes" msgstr "公司备注" -#: part/serializers.py:471 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:491 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:549 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:569 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:576 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:841 #, fuzzy #| msgid "External Link" msgid "External Stock" msgstr "外部链接" -#: part/serializers.py:841 +#: part/serializers.py:843 #, fuzzy #| msgid "Unallocate Stock" msgid "Unallocated Stock" msgstr "未分配库存" -#: part/serializers.py:844 +#: part/serializers.py:846 #, fuzzy #| msgid "Part Stock" msgid "Variant Stock" msgstr "商品库存" -#: part/serializers.py:874 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:471 +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "复制部件" -#: part/serializers.py:875 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:881 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:882 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "复制类别参数" -#: part/serializers.py:898 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:905 #, fuzzy #| msgid "Existing barcode found" msgid "Existing Image" msgstr "发现现有条码" -#: part/serializers.py:904 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:921 +#: part/serializers.py:923 #, fuzzy #| msgid "Part image not found" msgid "Image file does not exist" msgstr "未找到商品图像" -#: part/serializers.py:1127 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1137 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1156 #, fuzzy #| msgid "Exclude stock items from this selected location" msgid "Exclude stock items in external locations" msgstr "从该选定的仓储地点排除库存项" -#: part/serializers.py:1159 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1166 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1174 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1280 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1289 #, fuzzy #| msgid "Uses default currency" msgid "Minimum price currency" msgstr "使用默认货币" -#: part/serializers.py:1295 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1302 +#: part/serializers.py:1304 #, fuzzy #| msgid "Uses default currency" msgid "Maximum price currency" msgstr "使用默认货币" -#: part/serializers.py:1331 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1332 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1355 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1732 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1759 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1794 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1824 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1868 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1871 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1874 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1883 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1891 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1912 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1066 -#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7544,7 +7568,7 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" @@ -7644,15 +7668,15 @@ msgstr "商品供应商" msgid "Part Manufacturers" msgstr "商品制造商" -#: part/templates/part/detail.html:655 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:663 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:748 +#: part/templates/part/detail.html:750 msgid "Add Test Result Template" msgstr "" @@ -7733,7 +7757,7 @@ msgstr "清点商品库存" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" msgstr "" @@ -7807,7 +7831,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7900,8 +7924,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "库存" @@ -7946,7 +7970,7 @@ msgstr "商品价格" msgid "Edit" msgstr "编辑" -#: part/templates/part/prices.html:28 stock/admin.py:247 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 @@ -8027,8 +8051,8 @@ msgstr "商品价格" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 msgid "No Stock" msgstr "" @@ -9147,7 +9171,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2423 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 msgid "Result" msgstr "" @@ -9226,45 +9250,51 @@ msgid "Supplier Part ID" msgstr "供应商商品ID" #: stock/admin.py:185 +#, fuzzy +#| msgid "Supplier Part" +msgid "Supplier Part SKU" +msgstr "供应商商品" + +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:191 +#: stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: stock/admin.py:196 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:806 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:206 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:216 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:221 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:236 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:241 +#: stock/admin.py:246 #, fuzzy #| msgid "Delete Template" msgid "Delete on Deplete" msgstr "删除模板" -#: stock/admin.py:256 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:900 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9406,7 +9436,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:419 +#: stock/models.py:670 stock/serializers.py:422 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9452,7 +9482,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1480 +#: stock/models.py:800 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" @@ -9464,7 +9494,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1463 +#: stock/models.py:844 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" @@ -9546,7 +9576,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:658 +#: stock/models.py:1523 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "序列号已存在" @@ -9580,7 +9610,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1369 +#: stock/models.py:1661 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" @@ -9604,57 +9634,63 @@ msgstr "" msgid "Entry notes" msgstr "" -#: stock/models.py:2391 +#: stock/models.py:2394 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2396 +#: stock/models.py:2399 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2404 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid value for this test" +msgstr "无效的备损值" + +#: stock/models.py:2428 msgid "Test result" msgstr "" -#: stock/models.py:2430 +#: stock/models.py:2435 msgid "Test output value" msgstr "" -#: stock/models.py:2438 +#: stock/models.py:2443 msgid "Test result attachment" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2447 msgid "Test notes" msgstr "" -#: stock/models.py:2450 templates/js/translated/stock.js:1548 +#: stock/models.py:2455 templates/js/translated/stock.js:1548 #, fuzzy #| msgid "Destination" msgid "Test station" msgstr "目的地" -#: stock/models.py:2451 +#: stock/models.py:2456 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2462 msgid "Started" msgstr "" -#: stock/models.py:2458 +#: stock/models.py:2463 #, fuzzy #| msgid "Timestamp of last update" msgid "The timestamp of the test start" msgstr "最后一次更新时间" -#: stock/models.py:2464 +#: stock/models.py:2469 #, fuzzy #| msgid "Danish" msgid "Finished" msgstr "丹麦语" -#: stock/models.py:2465 +#: stock/models.py:2470 #, fuzzy #| msgid "Timestamp of last update" msgid "The timestamp of the test finish" @@ -9734,190 +9770,190 @@ msgstr "必须提供分配的项" msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:313 +#: stock/serializers.py:316 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:411 +#: stock/serializers.py:414 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:534 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:593 +#: stock/serializers.py:596 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:609 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:613 +#: stock/serializers.py:616 msgid "Enter serial numbers for new items" msgstr "输入新项目的序列号" -#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 msgid "Destination stock location" msgstr "目标库存位置" -#: stock/serializers.py:631 +#: stock/serializers.py:634 msgid "Optional note field" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:644 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:699 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:706 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:704 +#: stock/serializers.py:707 #, fuzzy #| msgid "Enter quantity for build output" msgid "Enter the quantity of items to install" msgstr "输入生产产出数量" -#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 -#: stock/serializers.py:935 +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 msgid "Add transaction note (optional)" msgstr "添加交易备注 (可选)" -#: stock/serializers.py:717 +#: stock/serializers.py:720 #, fuzzy #| msgid "Quantity must be a positive number" msgid "Quantity to install must be at least 1" msgstr "数量必须大于0" -#: stock/serializers.py:725 +#: stock/serializers.py:728 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:736 +#: stock/serializers.py:739 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:749 +#: stock/serializers.py:752 #, fuzzy #| msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgid "Quantity to install must not exceed available quantity" msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" -#: stock/serializers.py:784 +#: stock/serializers.py:787 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:819 +#: stock/serializers.py:822 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:880 +#: stock/serializers.py:883 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:920 #, fuzzy #| msgid "Selected stock item not found in BOM" msgid "Select stock items to change status" msgstr "在BOM中找不到选定的库存项" -#: stock/serializers.py:923 +#: stock/serializers.py:926 #, fuzzy #| msgid "Stock item created" msgid "No stock items selected" msgstr "库存项已创建" -#: stock/serializers.py:1019 stock/serializers.py:1082 +#: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1201 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1205 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1206 +#: stock/serializers.py:1209 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1233 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1236 +#: stock/serializers.py:1239 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1244 +#: stock/serializers.py:1247 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1254 stock/serializers.py:1508 +#: stock/serializers.py:1257 stock/serializers.py:1511 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1336 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1338 +#: stock/serializers.py:1341 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1339 +#: stock/serializers.py:1342 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1347 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1345 +#: stock/serializers.py:1348 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1355 +#: stock/serializers.py:1358 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1422 +#: stock/serializers.py:1425 #, fuzzy #| msgid "Change" msgid "No Change" msgstr "更改" -#: stock/serializers.py:1451 +#: stock/serializers.py:1454 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1470 +#: stock/serializers.py:1473 #, fuzzy #| msgid "Stock item created" msgid "Stock item status code" msgstr "库存项已创建" -#: stock/serializers.py:1498 +#: stock/serializers.py:1501 msgid "Stock transaction notes" msgstr "" @@ -10080,7 +10116,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:284 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 msgid "Delete Test Data" msgstr "" @@ -10100,11 +10136,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:272 +#: stock/templates/stock/item.html:274 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:302 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10929,7 +10965,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "删除" @@ -10982,12 +11018,12 @@ msgid "No category parameter templates found" msgstr "未找到类别参数模板" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1645 +#: templates/js/translated/part.js:1646 msgid "Edit Template" msgstr "编辑模板" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1647 msgid "Delete Template" msgstr "删除模板" @@ -11399,7 +11435,7 @@ msgid "Submit Bug Report" msgstr "" #: templates/about.html:91 templates/clip.html:4 -#: templates/js/translated/helpers.js:585 +#: templates/js/translated/helpers.js:589 msgid "copy to clipboard" msgstr "" @@ -11465,7 +11501,7 @@ msgid "Are you sure you want to sign out?" msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 -#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" msgstr "" @@ -11579,15 +11615,19 @@ msgstr "" msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." msgstr "" -#: templates/allauth_2fa/setup.html:23 +#: templates/allauth_2fa/setup.html:20 +msgid "Secret: " +msgstr "" + +#: templates/allauth_2fa/setup.html:24 msgid "Step 2" msgstr "" -#: templates/allauth_2fa/setup.html:27 +#: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" msgstr "" -#: templates/allauth_2fa/setup.html:37 +#: templates/allauth_2fa/setup.html:38 msgid "Verify" msgstr "" @@ -11666,7 +11706,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3217 +#: templates/js/translated/part.js:3219 msgid "Minimum Quantity" msgstr "" @@ -12065,7 +12105,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1256 +#: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -12428,7 +12468,7 @@ msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -12477,8 +12517,8 @@ msgstr "生产操作" msgid "No build lines found" msgstr "子类别" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:790 -#: templates/js/translated/part.js:1202 +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 msgid "Trackable part" msgstr "可追溯商品" @@ -12704,7 +12744,7 @@ msgid "Delete Parameters" msgstr "删除参数" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" msgstr "订购商品" @@ -12723,34 +12763,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 -#: templates/js/translated/part.js:1210 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 -#: templates/js/translated/part.js:1214 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" msgstr "无指定参数" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" msgstr "编辑参数" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" msgstr "删除参数" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" msgstr "编辑参数" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" msgstr "删除参数" @@ -13013,7 +13053,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1604 +#: templates/js/translated/part.js:1605 msgid "ID" msgstr "" @@ -13094,357 +13134,357 @@ msgstr "商品重复选项" msgid "Add Part Category" msgstr "增加商品类别" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:309 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:353 msgid "Create Part Category" msgstr "创建商品类别" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:356 #, fuzzy #| msgid "Create new part category" msgid "Create new category after this one" msgstr "新建商品类别" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:357 #, fuzzy #| msgid "Part category" msgid "Part category created" msgstr "商品类别" -#: templates/js/translated/part.js:370 +#: templates/js/translated/part.js:371 msgid "Edit Part Category" msgstr "编辑商品类别" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:397 +#: templates/js/translated/part.js:398 msgid "Delete Part Category" msgstr "删除商品类别" -#: templates/js/translated/part.js:401 +#: templates/js/translated/part.js:402 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:407 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:431 msgid "Create Part" msgstr "创建商品" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:433 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:434 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:462 msgid "Edit Part" msgstr "编辑商品" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:464 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:475 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:532 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:546 +#: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:548 +#: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:557 +#: templates/js/translated/part.js:558 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:593 +#: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:595 +#: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:602 +#: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:619 +#: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:629 +#: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:632 +#: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:657 +#: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:685 +#: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:688 +#: templates/js/translated/part.js:689 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:748 +#: templates/js/translated/part.js:749 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:771 +#: templates/js/translated/part.js:772 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" msgstr "虚拟商品" -#: templates/js/translated/part.js:806 +#: templates/js/translated/part.js:807 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:810 +#: templates/js/translated/part.js:811 msgid "Salable part" msgstr "可销售商品" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:889 +#: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:897 +#: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:901 +#: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1051 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1281 +#: templates/js/translated/part.js:1282 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1599 +#: templates/js/translated/part.js:1600 msgid "No part parameter templates found" msgstr "未找到商品参数模板" -#: templates/js/translated/part.js:1662 +#: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1674 +#: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1682 +#: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1716 +#: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1860 +#: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1906 +#: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1969 +#: templates/js/translated/part.js:1970 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1991 +#: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2200 +#: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2205 +#: templates/js/translated/part.js:2206 msgid "Set Part Category" msgstr "设置商品类别" -#: templates/js/translated/part.js:2235 +#: templates/js/translated/part.js:2236 msgid "Set category" msgstr "设置类别" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2287 #, fuzzy #| msgid "Edit part" msgid "part" msgstr "编辑商品" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2288 #, fuzzy #| msgid "Parts" msgid "parts" msgstr "商品" -#: templates/js/translated/part.js:2383 +#: templates/js/translated/part.js:2384 msgid "No category" msgstr "没有分类" -#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2546 +#: templates/js/translated/part.js:2547 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2644 +#: templates/js/translated/part.js:2645 #, fuzzy #| msgid "Subcategories" msgid "No subcategories found" msgstr "子类别" -#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2760 +#: templates/js/translated/part.js:2761 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2776 +#: templates/js/translated/part.js:2777 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2865 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2956 +#: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2970 +#: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3060 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3108 +#: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3114 +#: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3210 +#: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3226 +#: templates/js/translated/part.js:3228 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3271 +#: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" msgstr "" diff --git a/src/frontend/src/locales/bg/messages.po b/src/frontend/src/locales/bg/messages.po index 2d7d16da5e..f1a9f27758 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: 2024-06-04 12:38\n" +"PO-Revision-Date: 2024-06-09 22:49\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -59,7 +59,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -145,7 +145,7 @@ msgstr "" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "" @@ -209,7 +209,7 @@ msgstr "" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -551,7 +551,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -990,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1211,7 +1211,7 @@ msgstr "" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1298,16 +1298,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" @@ -1408,26 +1408,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "" @@ -2190,9 +2191,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3393,15 +3394,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "" @@ -3413,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3494,8 +3495,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3704,8 +3705,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4123,7 +4124,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,81 +4312,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4423,33 +4441,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4469,23 +4487,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4496,46 +4514,46 @@ msgstr "" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/cs/messages.po b/src/frontend/src/locales/cs/messages.po index c25c010644..44c1651cbc 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: 2024-06-04 12:39\n" +"PO-Revision-Date: 2024-06-09 22:49\n" "Last-Translator: \n" "Language-Team: Czech\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" @@ -59,7 +59,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "Chyba" @@ -145,7 +145,7 @@ msgstr "Odstranit přidružený obrázek z této položky?" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "Odstranit" @@ -209,7 +209,7 @@ msgstr "Součást není aktivní" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "Neaktivní" @@ -551,7 +551,7 @@ msgstr "Server" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "Název: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Hledat" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Načítání" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "Nebyly nalezeny žádné výsledky" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "Server" @@ -990,7 +990,7 @@ msgstr "Nastavení účtu" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "Nastavení systému" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "O aplikaci" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "Díl" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "Díly" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "Dodavatel dílu" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "Skladová položka" @@ -1211,7 +1211,7 @@ msgstr "Umístění skladu" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "Kódy projektu" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1298,16 +1298,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "Adresy" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "Kontakt" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "Správci" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "Uživatel" @@ -1408,26 +1408,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "Zásoby" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "Sériové číslo" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "Domů" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "Přehled" @@ -2190,9 +2191,9 @@ msgstr "Nákup" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "Prodej" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "Na skladě" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "Akce" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "Přidat" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "Počet" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3393,15 +3394,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "Přihlášení" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "Čárové kódy" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "Ceník" @@ -3413,50 +3414,50 @@ msgstr "Ceník" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "Štítky" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "Účet" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3494,8 +3495,8 @@ msgstr "Označit jako nepřečtenou" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "Stav" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "Reference" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3704,8 +3705,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4123,7 +4124,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,81 +4312,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4423,33 +4441,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4469,23 +4487,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4496,46 +4514,46 @@ msgstr "" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/da/messages.po b/src/frontend/src/locales/da/messages.po index df5f43eae9..89e4a92b63 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: 2024-06-04 12:39\n" +"PO-Revision-Date: 2024-06-09 22:50\n" "Last-Translator: \n" "Language-Team: Danish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -59,7 +59,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -145,7 +145,7 @@ msgstr "" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "" @@ -209,7 +209,7 @@ msgstr "" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -551,7 +551,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -990,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1211,7 +1211,7 @@ msgstr "" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1298,16 +1298,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" @@ -1408,26 +1408,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "" @@ -2190,9 +2191,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3393,15 +3394,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "" @@ -3413,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3494,8 +3495,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3704,8 +3705,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4123,7 +4124,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,81 +4312,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4423,33 +4441,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4469,23 +4487,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4496,46 +4514,46 @@ msgstr "" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/de/messages.po b/src/frontend/src/locales/de/messages.po index 03924b125f..c292b4df93 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: 2024-06-04 12:39\n" +"PO-Revision-Date: 2024-06-09 22:50\n" "Last-Translator: \n" "Language-Team: German\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -59,7 +59,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "Fehler" @@ -145,7 +145,7 @@ msgstr "Verknüpftes Bild von diesem Teil entfernen?" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "Entfernen" @@ -209,7 +209,7 @@ msgstr "Teil ist nicht aktiv" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "Inaktiv" @@ -551,7 +551,7 @@ msgstr "Adresse" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "Name: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "Status: <0>worker ({0}), <1>Plugins{1}" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Suche" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Wird geladen" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "Keine Ergebnisse gefunden" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "Dialog schließen" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "Server" @@ -990,7 +990,7 @@ msgstr "Benutzereinstellungen" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "Einstellungen" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "Über uns" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "Unbekanntes Modell: {model}" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "Teil" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "Teile" @@ -1159,7 +1159,7 @@ msgstr "Testvorlagen für Teil" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "Zuliefererteil" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "Teilkategorie" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "Teil-Kategorien" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "Lagerartikel" @@ -1211,7 +1211,7 @@ msgstr "Lagerort" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "Lagerorte" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "Projektnummern" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "Einkaufsbestellung" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Nachbestellungen" @@ -1298,16 +1298,16 @@ msgstr "Bestellpositionen" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "Verkaufsauftrag" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Aufträge" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "Versand der Bestellungen" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "Rückgabe Auftrag" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "Adressen" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "Kontakt" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "Eigentümer" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "Nutzer" @@ -1408,26 +1408,27 @@ msgstr "Sendung" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "Lager" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "Seriennummer" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "Startseite" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "Dashboard" @@ -2190,9 +2191,9 @@ msgstr "Einkauf" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "Verkäufe" @@ -2483,7 +2484,7 @@ msgstr "Artikel aus Liste entfernen" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "Seriennummern für neue Lagerartikel eingeben (oder leer lassen)" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "Zum Standard-Lagerort verschieben" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "Auf Lager" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "Aktionen" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "Hinzufügen" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "Anzahl" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "Bestand entfernen" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "Bestand verschieben" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "Bestand zählen" @@ -3393,15 +3394,15 @@ msgstr "Einstellungen die für den Benutzer Lebenszyklus relevant sind. Mehr ver msgid "System settings" msgstr "Systemeinstellungen" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "Anmelden" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "Barcode" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "Preise" @@ -3413,50 +3414,50 @@ msgstr "Preise" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "Beschriftungen" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "Berichte" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "Inventur" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "Bauaufträge" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "Zu Benutzereinstellungen wechseln" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "Konto" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "Sicherheit" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "Anzeigeoptionen" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "Kontoeinstellungen" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "Zu Systemeinstellungen wechseln" @@ -3494,8 +3495,8 @@ msgstr "Als ungelesen markieren" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "Status" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "Referenz" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "Aufgegeben von" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "Erstellt" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "Zieldatum" @@ -3613,7 +3614,7 @@ msgstr "Ziel Lagerort" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "Losnummer" @@ -3657,21 +3658,21 @@ msgstr "Unter-Bauaufträge" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "Anhänge" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "Notizen" @@ -3704,8 +3705,8 @@ msgstr "Bauauftrag-Aktionen" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "Bestellung stornieren" @@ -3752,10 +3753,10 @@ msgstr "Hersteller" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "Herstellerteil Details" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "Parameter" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "Lieferanten" @@ -3864,7 +3865,7 @@ msgstr "Art.-Nr." #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "Verpackung" @@ -3898,7 +3899,7 @@ msgstr "Empfangene Lagerartikel" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "Zulieferer-Preise" @@ -3988,85 +3989,85 @@ msgstr "Kategorieaktionen" msgid "Category Details" msgstr "Kategorie-Details" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "Variante von" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "Kategorie" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "Standard Lagerort" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "Standard-Lagerort der Kategorie" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "IPN" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "Version" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "Einheiten" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "Schlüsselwörter" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "Link" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "Verfügbarer Bestand" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "Minimaler Bestand" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "Bestellt" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "Bauaufträgen zugeordnet" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "Aufträgen zugeordnet" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "Herstellbar" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "Gebäude" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "Gebäude" msgid "Active" msgstr "Aktiv" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "Vorlagenteil" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "Baugruppe" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "Komponente" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "Nachverfolgbares Teil" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "Käufliches Teil" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "Verkäufliches Teil" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "Virtuelles Teil" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "Erstelldatum" @@ -4123,7 +4124,7 @@ msgstr "Erstelldatum" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "Erstellt von" @@ -4135,69 +4136,71 @@ msgstr "Erstellt von" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "Standard Zulieferer" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "Preisspanne" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "Letzte Inventur" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "Inventur durch" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "Teil-Details" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "Varianten" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "Ferienguthaben/Freitage" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "Stückliste" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "Verwendet in" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "Teilbepreisung" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "Hersteller" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "Terminierung" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "Testvorlagen" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "Zugehörige Teile" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "Zugehörige Teile" msgid "Available" msgstr "Verfügbar" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "Kein Bestand" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "In Bestellung" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "In Produktion" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "Teil bearbeiten" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "Teil hinzufügen" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "Teil löschen" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "Das Löschen dieses Teils kann nicht rückgängig gemacht werden" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "Lager-Aktionen" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "Bestand zählen" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "Bestand übertragen" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "Teile-Aktionen" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "Keine Preisdaten für diesen Teil gefunden." #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "Preisübersicht" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "Kaufhistorie" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "Interne Preise" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "Stücklisten Preise" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "Varianten Preise" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "Verkaufs Preise" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "Verkaufshistorie" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "Minimaler Gesamtpreis" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "Maximaler Gesamtpreis" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "Komponente" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "Preis pro Einheit" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,82 +4312,118 @@ msgstr "Preis pro Einheit" msgid "Total Price" msgstr "Gesamtpreis" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "Komponente" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "Niedrigster Preis" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "Höchster Preis" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "Preis pro Einheit" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "Aktualisiert" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "Kuchendiagramm" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "Balkendiagramm" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "Preisstaffel hinzufügen" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "Staffelpreis bearbeiten" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "Staffelpreis löschen" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "Preisstaffel" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "Preiskategorie" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "Minimum" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "Maximum" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "Einkaufs Preise" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "Preise überschreiben" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "Gesamt Preise" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "Zuletzt aktualisiert" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" -msgstr "Niedrigster Preis" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" +msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" -msgstr "Höchster Preis" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" +msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 msgid "No data available" @@ -4423,33 +4441,33 @@ msgstr "Keine Preisdaten verfügbar" msgid "Loading pricing data" msgstr "Lade Preisdaten" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "Datum" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "Einkaufspreis" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "Auftrag" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "Verkaufspreis" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "Lieferant Preis" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "Variantenteil" @@ -4469,23 +4487,23 @@ msgstr "Lieferanten-Referenz" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "Positionen" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "Abgeschlossene Positionen" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "Abgeschlossene Sendungen" @@ -4496,46 +4514,46 @@ msgstr "Abgeschlossene Sendungen" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "Bestellwährung" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "Gesamtkosten" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "Erstellt am" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "Bestelldetails" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "Bestellaktionen" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "Kundenreferenz" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "Rücksendeauftrag bearbeiten" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "Neuer Rücksendeauftrag" msgid "Customers" msgstr "Kunden" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "Auftrag bearbeiten" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "Auftrag hinzufügen" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "Ausstehende Sendungen" @@ -4618,11 +4636,11 @@ msgstr "Aktion für untergeordnete Lagerorte an diesem Lagerort" msgid "Location Actions" msgstr "Lagerort Aktionen" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "Basisteil" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "Lagerbestand Status" @@ -4634,15 +4652,15 @@ msgstr "Lagerbestand Status" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "Verbaut in" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "Verbraucht von" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "Bauauftrag" @@ -4655,31 +4673,31 @@ msgstr "Bauauftrag" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "Lagerdetails" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "Bestandsverfolgung" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "Test Daten" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "Installierte Elemente" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "Untergeordnete Objekte" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "Lagerartikel bearbeiten" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "Lagerartikel löschen" @@ -4687,34 +4705,34 @@ msgstr "Lagerartikel löschen" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "Lagervorgänge" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "Bestand zählen" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "Lagerbestand hinzufügen" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "Lagerbestand entfernen" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "Verschieben" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "Lagerbestand verschieben" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "Lagerartikel Aktionen" @@ -4805,7 +4823,7 @@ msgstr "Filter" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "Wert" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "Erforderliche Tests" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "Testergebnisse" @@ -5735,75 +5753,75 @@ msgstr "Ergebnisse" msgid "No Results" msgstr "Keine Ergebnisse" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "Erforderlich" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "Erforderliche Tests anzeigen" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "Aktiviert" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "Aktivierte Tests anzeigen" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "Wert erforderlich" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "Tests anzeigen, die einen Wert erfordern" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "Anhang erforderlich" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "Tests anzeigen, die einen Anhang erfordern" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "Vererbte einschließen" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "Tests von geerbten Vorlagen anzeigen" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "Hat Ergebnisse" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "Tests anzeigen, die die Ergebnisse beinhalten" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "Testvorlage hinzufügen" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "Testvorlage bearbeiten" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "Testvorlage löschen" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "Diese Aktion kann nicht rückgängig gemacht werden" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "Alle mit dieser Vorlage verknüpften Testergebnisse werden gelöscht" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "Aufgaben ID" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "Gestartet" @@ -6698,95 +6716,95 @@ msgstr "Bestand löschen" msgid "Delete stock items" msgstr "Lagerartikel löschen" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "Test" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "Testergebnis für installierten Lagerbestand" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "Ergebnis" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "Kein Ergebnis" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "Anhang" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "Teststation" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "Fertiggestellt" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "Testergebnis hinzufügen" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "Testergebnis hinzugefügt" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "Testergebnis bearbeiten" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "Testergebnis aktualisiert" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "Testergebnis löschen" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "Testergebnis gelöscht" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "Test bestanden" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "Testergebnis wurde erfasst" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "Fehler beim Erfassen des Testergebnisses" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "Test bestanden" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "Ergebnisse für erforderliche Tests anzeigen" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "Installierte Teile einschließen" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "Zeige Ergebnisse für installierte Lagerartikel" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "Bestanden" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "Nur bestandene Tests anzeigen" diff --git a/src/frontend/src/locales/el/messages.po b/src/frontend/src/locales/el/messages.po index e8ebce2778..0697794a9e 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: 2024-06-04 12:39\n" +"PO-Revision-Date: 2024-06-09 22:50\n" "Last-Translator: \n" "Language-Team: Greek\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -59,7 +59,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -145,7 +145,7 @@ msgstr "Αφαίρεση της σχετικής εικόνας από αυτό #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "Αφαίρεση" @@ -209,7 +209,7 @@ msgstr "Το εξάρτημα είναι ανενεργό" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "Ανενεργό" @@ -551,7 +551,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -990,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1211,7 +1211,7 @@ msgstr "" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1298,16 +1298,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" @@ -1408,26 +1408,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "" @@ -2190,9 +2191,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3393,15 +3394,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "" @@ -3413,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3494,8 +3495,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3704,8 +3705,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4123,7 +4124,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,81 +4312,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4423,33 +4441,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4469,23 +4487,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4496,46 +4514,46 @@ msgstr "" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/en/messages.po b/src/frontend/src/locales/en/messages.po index 4e45331c8c..525e4684c4 100644 --- a/src/frontend/src/locales/en/messages.po +++ b/src/frontend/src/locales/en/messages.po @@ -43,18 +43,18 @@ msgstr "Label printing completed successfully" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "Error" @@ -140,7 +140,7 @@ msgstr "Remove the associated image from this item?" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "Remove" @@ -202,9 +202,9 @@ msgstr "Part is not active" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "Inactive" @@ -243,6 +243,35 @@ msgstr "Part is virtual (not a physical part)" msgid "Virtual" msgstr "Virtual" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "Image upload failed" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "Success" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "Notes saved successfully" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "Failed to save notes" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "Preview Notes" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "Edit Notes" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "Save Notes" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "Code" @@ -329,11 +358,6 @@ msgstr "Error rendering template" msgid "Form Error" msgstr "Form Error" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "Success" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" @@ -522,7 +546,7 @@ msgstr "Host" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -546,7 +570,6 @@ msgid "Add Host" msgstr "Add Host" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "Save" @@ -574,20 +597,20 @@ msgstr "Name: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "State: <0>worker ({0}), <1>plugins{1}" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Search" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Loading" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "No results found" @@ -854,7 +877,7 @@ msgid "Close modal" msgstr "Close modal" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "Server" @@ -962,7 +985,7 @@ msgstr "Account settings" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "System Settings" @@ -1026,8 +1049,8 @@ msgid "About" msgstr "About" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1095,7 +1118,7 @@ msgstr "Unknown model: {model}" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1104,11 +1127,11 @@ msgstr "Part" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "Parts" @@ -1131,7 +1154,7 @@ msgstr "Part Test Templates" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "Supplier Part" @@ -1155,15 +1178,15 @@ msgid "Part Category" msgstr "Part Category" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "Part Categories" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "Stock Item" @@ -1183,7 +1206,7 @@ msgstr "Stock Location" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "Stock Locations" @@ -1222,7 +1245,7 @@ msgid "Build Lines" msgstr "Build Lines" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "Company" @@ -1245,17 +1268,17 @@ msgid "Project Codes" msgstr "Project Codes" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "Purchase Order" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Purchase Orders" @@ -1270,16 +1293,16 @@ msgstr "Purchase Order Lines" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "Sales Order" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Sales Orders" @@ -1293,13 +1316,13 @@ msgid "Sales Order Shipments" msgstr "Sales Order Shipments" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "Return Order" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1317,8 +1340,8 @@ msgstr "Addresses" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "Contact" @@ -1336,7 +1359,7 @@ msgid "Owners" msgstr "Owners" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "User" @@ -1380,26 +1403,27 @@ msgstr "Shipment" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "Stock" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "Serial Number" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -1839,16 +1863,12 @@ msgid "Getting started" msgstr "Getting started" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "Failed to upload image" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "Notes saved" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "Failed to save notes" +#~ msgid "Notes saved" +#~ msgstr "Notes saved" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -2016,7 +2036,7 @@ msgstr "Home" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "Dashboard" @@ -2166,9 +2186,9 @@ msgstr "Purchasing" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "Sales" @@ -2459,7 +2479,7 @@ msgstr "Remove item from list" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2510,7 +2530,7 @@ msgstr "Enter serial numbers for new stock (or leave blank)" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2532,8 +2552,8 @@ msgstr "Move to default location" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "In Stock" @@ -2555,14 +2575,14 @@ msgid "Actions" msgstr "Actions" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "Add" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "Count" @@ -2575,12 +2595,12 @@ msgid "Remove Stock" msgstr "Remove Stock" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "Transfer Stock" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "Count Stock" @@ -3369,15 +3389,15 @@ msgstr "Select settings relevant for user lifecycle. More available in" msgid "System settings" msgstr "System settings" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "Login" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "Barcodes" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "Pricing" @@ -3389,50 +3409,50 @@ msgstr "Pricing" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "Labels" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "Reporting" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "Stocktake" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "Build Orders" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "Switch to User Setting" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "Account" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "Security" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "Display Options" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "Account Settings" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "Switch to System Setting" @@ -3470,8 +3490,8 @@ msgstr "Mark as unread" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3484,8 +3504,8 @@ msgstr "Status" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3496,10 +3516,10 @@ msgstr "Reference" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3532,10 +3552,10 @@ msgid "Issued By" msgstr "Issued By" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3550,8 +3570,8 @@ msgstr "Created" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "Target Date" @@ -3589,7 +3609,7 @@ msgstr "Destination Location" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "Batch Code" @@ -3633,21 +3653,21 @@ msgstr "Child Build Orders" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "Attachments" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "Notes" @@ -3680,8 +3700,8 @@ msgstr "Build Order Actions" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "Cancel order" @@ -3728,10 +3748,10 @@ msgstr "Manufacturer" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3764,12 +3784,12 @@ msgstr "Supplied Parts" msgid "Assigned Stock" msgstr "Assigned Stock" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "Edit Company" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "Company Actions" @@ -3799,12 +3819,12 @@ msgid "Manufacturer Part Details" msgstr "Manufacturer Part Details" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "Parameters" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "Suppliers" @@ -3840,7 +3860,7 @@ msgstr "SKU" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "Packaging" @@ -3874,7 +3894,7 @@ msgstr "Received Stock" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "Supplier Pricing" @@ -3964,85 +3984,85 @@ msgstr "Category Actions" msgid "Category Details" msgstr "Category Details" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "Variant of" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "Category" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "Default Location" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "Category Default Location" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "IPN" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "Revision" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "Units" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "Keywords" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "Link" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "Available Stock" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "Minimum Stock" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "On order" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "Allocated to Build Orders" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "Allocated to Sales Orders" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "Can Build" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "Building" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4060,37 +4080,37 @@ msgstr "Building" msgid "Active" msgstr "Active" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "Template Part" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "Assembled Part" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "Component Part" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "Trackable Part" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "Purchaseable Part" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "Saleable Part" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "Virtual Part" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "Creation Date" @@ -4099,7 +4119,7 @@ msgstr "Creation Date" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "Created By" @@ -4111,69 +4131,71 @@ msgstr "Created By" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "Price Range" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "Last Stocktake" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "Part Details" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "Variants" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "Allocations" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "Bill of Materials" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "Used In" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "Part Pricing" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "Manufacturers" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "Test Templates" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "Related Parts" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4181,55 +4203,55 @@ msgstr "Related Parts" msgid "Available" msgstr "Available" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "No Stock" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "On Order" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "In Production" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "Edit Part" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "Add Part" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "Delete Part" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "Deleting this part cannot be reversed" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "Stock Actions" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "Count part stock" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "Part Actions" @@ -4242,6 +4264,7 @@ msgid "No pricing data found for this part." msgstr "No pricing data found for this part." #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "Pricing Overview" @@ -4250,54 +4273,32 @@ msgid "Purchase History" msgstr "Purchase History" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "Internal Pricing" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "BOM Pricing" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "Variant Pricing" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "Sale Pricing" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "Sale History" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "Minimum Total Price" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "Maximum Total Price" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "Component" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "Unit Price" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4306,82 +4307,118 @@ msgstr "Unit Price" msgid "Total Price" msgstr "Total Price" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "Component" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "Minimum Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "Maximum Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "Unit Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "Updated" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "Pie Chart" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "Bar Chart" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "Add Price Break" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "Edit Price Break" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "Delete Price Break" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "Price Break" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "Price" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "Pricing Category" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "Minimum" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "Maximum" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "Purchase Pricing" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "Override Pricing" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "Overall Pricing" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "Last Updated" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" -msgstr "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" +msgstr "Minimum Value" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" -msgstr "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" +msgstr "Maximum Value" #: src/pages/part/pricing/PricingPanel.tsx:25 msgid "No data available" @@ -4399,33 +4436,33 @@ msgstr "No pricing data available" msgid "Loading pricing data" msgstr "Loading pricing data" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "Date" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "Purchase Price" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "Sale Order" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "Sale Price" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "Supplier Price" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "Variant Part" @@ -4445,23 +4482,23 @@ msgstr "Supplier Reference" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "Line Items" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "Completed Line Items" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "Completed Shipments" @@ -4472,46 +4509,46 @@ msgstr "Completed Shipments" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "Order Currency" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "Total Cost" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "Created On" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "Order Details" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "Order Actions" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "Customer Reference" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "Edit Return Order" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4521,17 +4558,17 @@ msgstr "Add Return Order" msgid "Customers" msgstr "Customers" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "Edit Sales Order" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "Add Sales Order" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "Pending Shipments" @@ -4594,11 +4631,11 @@ msgstr "Action for child locations in this location" msgid "Location Actions" msgstr "Location Actions" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "Base Part" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "Stock Status" @@ -4610,15 +4647,15 @@ msgstr "Stock Status" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "Installed In" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "Consumed By" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "Build Order" @@ -4631,31 +4668,31 @@ msgstr "Build Order" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "Stock Details" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "Stock Tracking" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "Test Data" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "Installed Items" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "Child Items" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "Edit Stock Item" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "Delete Stock Item" @@ -4663,34 +4700,34 @@ msgstr "Delete Stock Item" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "Stock Operations" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "Count stock" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "Add stock" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "Remove stock" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "Transfer" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "Transfer stock" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "Stock Item Actions" @@ -4781,7 +4818,7 @@ msgstr "Filter" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "Value" @@ -5219,7 +5256,7 @@ msgid "Required Tests" msgstr "Required Tests" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "Test Results" @@ -5711,75 +5748,75 @@ msgstr "Results" msgid "No Results" msgstr "No Results" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "Required" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "Show required tests" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "Enabled" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "Show enabled tests" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "Requires Value" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "Show tests that require a value" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "Requires Attachment" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "Show tests that require an attachment" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "Include Inherited" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "Show tests from inherited templates" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "Has Results" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "Show tests which have recorded results" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "Add Test Template" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "Edit Test Template" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "Delete Test Template" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "This action cannot be reversed" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "Any tests results associated with this template will be deleted" @@ -6268,7 +6305,7 @@ msgid "Task ID" msgstr "Task ID" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "Started" @@ -6674,95 +6711,95 @@ msgstr "Delete stock" msgid "Delete stock items" msgstr "Delete stock items" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "Test" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "Test result for installed stock item" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "Result" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "No Result" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "Attachment" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "Test station" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "Finished" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "Add Test Result" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "Test result added" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "Edit Test Result" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "Test result updated" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "Delete Test Result" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "Test result deleted" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "Test Passed" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "Test result has been recorded" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "Failed to record test result" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "Pass Test" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "Show results for required tests" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "Include Installed" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "Show results for installed stock items" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "Passed" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "Show only passed tests" diff --git a/src/frontend/src/locales/es-mx/messages.po b/src/frontend/src/locales/es-mx/messages.po index f42eb21442..61f0f72db0 100644 --- a/src/frontend/src/locales/es-mx/messages.po +++ b/src/frontend/src/locales/es-mx/messages.po @@ -43,18 +43,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -140,7 +140,7 @@ msgstr "" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "" @@ -202,9 +202,9 @@ msgstr "" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -243,6 +243,35 @@ msgstr "" msgid "Virtual" msgstr "" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "" @@ -329,11 +358,6 @@ msgstr "" msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "" @@ -503,7 +527,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -527,7 +551,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -555,20 +578,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "" @@ -835,7 +858,7 @@ msgid "Close modal" msgstr "" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -943,7 +966,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -999,8 +1022,8 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1068,7 +1091,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1077,11 +1100,11 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "" @@ -1104,7 +1127,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1128,15 +1151,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1156,7 +1179,7 @@ msgstr "" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "" @@ -1195,7 +1218,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1218,17 +1241,17 @@ msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1243,16 +1266,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1266,13 +1289,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1290,8 +1313,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1309,7 +1332,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" @@ -1353,26 +1376,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -1808,16 +1832,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -1985,7 +2005,7 @@ msgstr "" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "" @@ -2127,9 +2147,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "" @@ -2356,7 +2376,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2407,7 +2427,7 @@ msgstr "" #~ msgstr "" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2429,8 +2449,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2452,14 +2472,14 @@ msgid "Actions" msgstr "" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2472,12 +2492,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3134,15 +3154,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "" @@ -3154,50 +3174,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3231,8 +3251,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3245,8 +3265,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3257,10 +3277,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3293,10 +3313,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3311,8 +3331,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3350,7 +3370,7 @@ msgstr "" #~ msgstr "" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3394,21 +3414,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3441,8 +3461,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3489,10 +3509,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3525,12 +3545,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -3560,12 +3580,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3601,7 +3621,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3635,7 +3655,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3725,85 +3745,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3821,37 +3841,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -3860,7 +3880,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -3872,69 +3892,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -3942,55 +3964,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -3999,6 +4021,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4007,54 +4030,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4063,81 +4064,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4156,33 +4193,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4202,23 +4239,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4229,46 +4266,46 @@ msgstr "" #~ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4278,17 +4315,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4351,11 +4388,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4367,15 +4404,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4388,31 +4425,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4420,34 +4457,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4538,7 +4575,7 @@ msgstr "" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "" @@ -4976,7 +5013,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5468,75 +5505,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6025,7 +6062,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6431,95 +6468,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/es/messages.po b/src/frontend/src/locales/es/messages.po index a3ed5ac6b7..03c13cc904 100644 --- a/src/frontend/src/locales/es/messages.po +++ b/src/frontend/src/locales/es/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: es_MX\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-06-07 13:56\n" +"PO-Revision-Date: 2024-06-09 22:50\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -59,7 +59,7 @@ msgstr "Impresión de etiqueta completada con éxito" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "Error" @@ -145,7 +145,7 @@ msgstr "¿Eliminar imagen asociada al artículo?" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "Eliminar" @@ -209,7 +209,7 @@ msgstr "La pieza no está activa" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "Inactivo" @@ -551,7 +551,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -603,7 +603,7 @@ msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" #: src/components/forms/fields/RelatedModelField.tsx:320 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -990,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1211,7 +1211,7 @@ msgstr "" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Órdenes de compra" @@ -1298,16 +1298,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" @@ -1408,26 +1408,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "" @@ -2190,9 +2191,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "En Stock" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "Agregar" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3393,15 +3394,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "Ingresar" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "Códigos de barras" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "Precios" @@ -3413,50 +3414,50 @@ msgstr "Precios" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "Etiquetas" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "Informes" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "Ordenes de Producción" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "Cambiar a Configuración de Usuario" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "Cuenta" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "Seguridad" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "Opciones de visualización" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3494,8 +3495,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3704,8 +3705,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "Parámetros" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "Proveedores" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "" msgid "Active" msgstr "Activo" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4123,7 +4124,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "En producción" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,81 +4312,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4423,33 +4441,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4469,23 +4487,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4496,46 +4514,46 @@ msgstr "" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "Contar stock" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "Agregar stock" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "Remover stock" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "Transferir" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "Transferir stock" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/fa/messages.po b/src/frontend/src/locales/fa/messages.po index 89320b9caa..961c2ddb2b 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: 2024-06-04 12:40\n" +"PO-Revision-Date: 2024-06-09 22:50\n" "Last-Translator: \n" "Language-Team: Persian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -59,7 +59,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -145,7 +145,7 @@ msgstr "" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "" @@ -209,7 +209,7 @@ msgstr "" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -551,7 +551,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -990,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1211,7 +1211,7 @@ msgstr "" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1298,16 +1298,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" @@ -1408,26 +1408,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "" @@ -2190,9 +2191,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3393,15 +3394,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "" @@ -3413,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3494,8 +3495,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3704,8 +3705,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4123,7 +4124,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,81 +4312,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4423,33 +4441,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4469,23 +4487,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4496,46 +4514,46 @@ msgstr "" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/fi/messages.po b/src/frontend/src/locales/fi/messages.po index c66e0f7919..4baee597d5 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: 2024-06-04 12:39\n" +"PO-Revision-Date: 2024-06-09 22:50\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -59,7 +59,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -145,7 +145,7 @@ msgstr "" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "" @@ -209,7 +209,7 @@ msgstr "" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -551,7 +551,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -990,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1211,7 +1211,7 @@ msgstr "" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1298,16 +1298,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" @@ -1408,26 +1408,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "" @@ -2190,9 +2191,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3393,15 +3394,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "" @@ -3413,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3494,8 +3495,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3704,8 +3705,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4123,7 +4124,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,81 +4312,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4423,33 +4441,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4469,23 +4487,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4496,46 +4514,46 @@ msgstr "" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/fr/messages.po b/src/frontend/src/locales/fr/messages.po index 7ebe64cb71..3b7dc51d9b 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: 2024-06-04 12:38\n" +"PO-Revision-Date: 2024-06-09 22:49\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -59,7 +59,7 @@ msgstr "Impression terminée avec succès" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "Erreur" @@ -145,7 +145,7 @@ msgstr "Supprimer l'image associée de cet élément ?" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "Supprimer" @@ -209,7 +209,7 @@ msgstr "La pièce n'est pas active" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "Inactif" @@ -551,7 +551,7 @@ msgstr "Serveur" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "Nom : {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Rechercher" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Chargement" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "Aucun résultat trouvé" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "Fermer" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "Serveur" @@ -990,7 +990,7 @@ msgstr "Paramètres du compte" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "Les paramètres du système" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "À propos" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "Modèle inconnu : {model}" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "Pièce" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "Composants" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "Pièce fournisseur" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "Catégorie de composant" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "Catégories de composants" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "Article en stock" @@ -1211,7 +1211,7 @@ msgstr "Emplacement du stock" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "Emplacements de stock" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "Codes du projet" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "Commande d’achat" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Ordres d'achat" @@ -1298,16 +1298,16 @@ msgstr "Lignes de commande d'achat" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "Ventes" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Ordres de vente" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "Expéditions de la commande" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "Retour de commande" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "Adresses" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "Contact" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "Utilisateur" @@ -1408,26 +1408,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "Page d’accueil" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "Tableau de bord" @@ -2190,9 +2191,9 @@ msgstr "Achat en cours" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "Ventes" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "Entrez les numéros de série pour le nouveau stock (ou laisser vide)" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "Actions" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3393,15 +3394,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "" @@ -3413,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "Ordres de fabrication" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3494,8 +3495,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "Status" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "Date cible" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3704,8 +3705,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "Catégorie" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "Emplacement par défaut" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "Révision" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "Unités" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "Mots-clés" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "Lien" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "Stock Minimum" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "Sur commande" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "Alloué à l'ordre de construction" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "Alloué aux ordres de ventes" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "Peut être construit" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "Construire" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "Construire" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "Date de création" @@ -4123,7 +4124,7 @@ msgstr "Date de création" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "Fournisseur par Défaut" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "Échelle des prix" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "Dernier inventaire" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "Variants" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "Allocations" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "" msgid "Available" msgstr "Disponible" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,81 +4312,117 @@ msgstr "" msgid "Total Price" msgstr "Prix total" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4423,33 +4441,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4469,23 +4487,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4496,46 +4514,46 @@ msgstr "" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "Filtrer" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "Valeur" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/he/messages.po b/src/frontend/src/locales/he/messages.po index b44bb48f61..4700354972 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: 2024-06-04 12:39\n" +"PO-Revision-Date: 2024-06-09 22:50\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" @@ -59,7 +59,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -145,7 +145,7 @@ msgstr "" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "" @@ -209,7 +209,7 @@ msgstr "" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -551,7 +551,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -990,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1211,7 +1211,7 @@ msgstr "" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1298,16 +1298,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" @@ -1408,26 +1408,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "" @@ -2190,9 +2191,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3393,15 +3394,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "" @@ -3413,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3494,8 +3495,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3704,8 +3705,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4123,7 +4124,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,81 +4312,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4423,33 +4441,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4469,23 +4487,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4496,46 +4514,46 @@ msgstr "" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/hi/messages.po b/src/frontend/src/locales/hi/messages.po index 5bd85ddde3..635584d84d 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: 2024-06-04 12:40\n" +"PO-Revision-Date: 2024-06-09 22:50\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -59,7 +59,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -145,7 +145,7 @@ msgstr "" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "" @@ -209,7 +209,7 @@ msgstr "" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -551,7 +551,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -990,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1211,7 +1211,7 @@ msgstr "" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1298,16 +1298,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" @@ -1408,26 +1408,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "" @@ -2190,9 +2191,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3393,15 +3394,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "" @@ -3413,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3494,8 +3495,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3704,8 +3705,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4123,7 +4124,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,81 +4312,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4423,33 +4441,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4469,23 +4487,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4496,46 +4514,46 @@ msgstr "" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/hu/messages.po b/src/frontend/src/locales/hu/messages.po index 7471cb20b5..f3af4a9aef 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: 2024-06-04 12:39\n" +"PO-Revision-Date: 2024-06-09 22:50\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -59,7 +59,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "Hiba" @@ -145,7 +145,7 @@ msgstr "Tételhez rendelt kép eltávolítása?" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "Eltávolítás" @@ -209,7 +209,7 @@ msgstr "Az alkatrész nem aktív" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "Inaktív" @@ -551,7 +551,7 @@ msgstr "Kiszolgáló" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "Név: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "Státusz: <0>worker ({0}), <1>plugins{1}" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Keresés" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Betöltés" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "Nincs találat" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "Felugró ablak bezárása" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "Szerver" @@ -990,7 +990,7 @@ msgstr "Fiókbeállítások" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "Rendszerbeállítások" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "Névjegy" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "Ismeretlen model: {model}" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "Alkatrész" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "Alkatrészek" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "Beszállítói alkatrész" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "Alkatrész kategória" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "Alkatrész kategóriák" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "Készlet tétel" @@ -1211,7 +1211,7 @@ msgstr "Készlet hely" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "Készlethelyek" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "Projektszámok" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "Beszerzési rendelés" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Beszerzési rendelések" @@ -1298,16 +1298,16 @@ msgstr "Beszerzési rendelés tételei" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "Vevői rendelés" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Vevői rendelések" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "Vevői rendelés szállítmányok" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "Visszavétel" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "Címek" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "Kapcsolat" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "Tulajdonosok" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "Felhasználó" @@ -1408,26 +1408,27 @@ msgstr "Szállítmány" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "Készlet" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "Sorozatszám" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "Főoldal" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "Irányítópult" @@ -2190,9 +2191,9 @@ msgstr "Beszerzés" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "Eladás" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "Add meg az új készlet tételhez tartozó sorozatszámokat (vagy hagyd #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "Mozgatás az alapértelmezett helyre" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "Készleten" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "Műveletek" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "Hozzáadás" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "Mennyiség" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "Készlet csökkentése" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "Készlet áthelyezése" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "Leltározás" @@ -3393,15 +3394,15 @@ msgstr "Válassza ki a felhasználói életciklusre vonatkozó beállításokat. msgid "System settings" msgstr "Rendszerbeállítások" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "Bejelentkezés" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "Vonalkódok" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "Árazás" @@ -3413,50 +3414,50 @@ msgstr "Árazás" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "Címkék" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "Riportolás" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "Leltár" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "Gyártási utasítások" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "Felhasználói beállításra váltás" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "Fiók" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "Biztonság" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "Megjelenítési beállítások" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "Fiókbeállítások" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "Rendszer beállításra váltás" @@ -3494,8 +3495,8 @@ msgstr "Megjelölés olvasatlanként" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "Állapot" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "Hivatkozás" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "Cél dátum" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "Alárendelt gyártások" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "Mellékletek" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "Megjegyzések" @@ -3704,8 +3705,8 @@ msgstr "Gyártáshoz foglalások" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "Gyártó" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "Paraméterek" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "Beszállítók" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "Beérkezett készlet" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "Kategória" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "IPN" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "Mértékegységek" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "Link" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "Rendelve" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "Gyártható" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "Gyártásban" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "Gyártásban" msgid "Active" msgstr "Aktív" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "Gyártmány alkatrész" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "Létrehozás dátuma" @@ -4123,7 +4124,7 @@ msgstr "Létrehozás dátuma" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "Készítette" @@ -4135,69 +4136,71 @@ msgstr "Készítette" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "Alapértelmezett beszállító" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "Ártartomány" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "Utolsó leltár" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "Leltárazta" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "Alkatrész részletei" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "Változatok" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "Foglalások" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "Alkatrészjegyzék" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "Felhasználva ebben" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "Alkatrész árak" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "Gyártók" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "Ütemezés" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "Teszt sablonok" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "Kapcsolódó alkatrészek" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "Kapcsolódó alkatrészek" msgid "Available" msgstr "Elérhető" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "Nincs készlet" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "Rendelve" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "Gyártásban" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "Alkatrész szerkesztése" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "Alkatrész hozzáadása" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "Készlet műveletek" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "Készlet számolása" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "Készlet áthelyezése" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "Alkatrész műveletek" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "Nincs árazási információ ehhez az alkatrészhez." #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "Árazás áttekintés" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "Beszerzési előzmények" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "Belső árazás" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "Alkatrészjegyzék árazás" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "Alkatrészváltozat árazás" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "Eladási ár" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "Eladási előzmények" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "Minimum teljes ár" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "Maximum teljes ár" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "Összetevő" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "Egységár" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,82 +4312,118 @@ msgstr "Egységár" msgid "Total Price" msgstr "Teljes ár" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "Összetevő" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "Minimum ár" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "Maximum ár" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "Egységár" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "Frissítve" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "Kördiagram" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "Oszlopdiagram" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "Ársáv hozzáadása" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "Ársáv szerkesztése" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "Ársáv törlése" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "Árlépcső" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "Árkategória" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "Minimum" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "Maximum" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "Beszerzési ár" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "Alkatrész árazás felülbírálása" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "Általános árazás" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "Legutóbb frissítve" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" -msgstr "Minimum ár" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" +msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" -msgstr "Maximum ár" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" +msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 msgid "No data available" @@ -4423,33 +4441,33 @@ msgstr "Ár adatok nem elérhetőek" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "Dátum" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "Beszerzési ár" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "Megrendelések" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "Eladási ár" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "Beszállítói ár" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "Alkatrészváltozat" @@ -4469,23 +4487,23 @@ msgstr "Beszállítói azonosító" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "Sortételek" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "Kész sortételek" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "Kész szállítmányok" @@ -4496,46 +4514,46 @@ msgstr "Kész szállítmányok" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "Teljes költség" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "Létrehozva" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "Rendelés részletei" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "Rendelés műveletek" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "Vevői azonosító" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "" msgid "Customers" msgstr "Vevők" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "Függő szállítmányok" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "Kiindulási alkatrész" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "Készlettörténet" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "Teszt adatok" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "Beépített tételek" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "Gyermek tételek" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "Készlet tétel szerkesztése" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "Készlet műveletek" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "Leltározás" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "Készlethez ad" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "Készlet csökkentése" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "Áthelyezés" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "Készlet áthelyezése" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "Szűrő" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "Érték" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "Szükséges tesztek" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "Teszt eredmények" @@ -5735,75 +5753,75 @@ msgstr "Eredmények" msgid "No Results" msgstr "Nincs találat" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "Szükséges tesztek megjelenítése" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "Engedélyezett tesztek megjelenítése" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "Kötelező adatos tesztek megjelenítése" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "Kötelező mellékletes tesztek megjelenítése" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "Örököltekkel együtt" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "Örökölt sablonos tesztek megjelenítése" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "Van eredmény" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "Rögzített eredményes tesztek megjelenítése" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "Teszt sablon hozzáadása" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "Teszt sablon szerkesztése" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "Teszt sablon törlése" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "Ez a művelet nem vonható vissza" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "Minden teszt eredmény amit ehhez a sablonhoz rögzítettek elvész" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/id/messages.po b/src/frontend/src/locales/id/messages.po index 8247bdfbe6..893f81bcd7 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: 2024-06-04 12:40\n" +"PO-Revision-Date: 2024-06-09 22:50\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -59,7 +59,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -145,7 +145,7 @@ msgstr "" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "" @@ -209,7 +209,7 @@ msgstr "" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -551,7 +551,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -990,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1211,7 +1211,7 @@ msgstr "" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1298,16 +1298,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" @@ -1408,26 +1408,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "" @@ -2190,9 +2191,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3393,15 +3394,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "" @@ -3413,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3494,8 +3495,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3704,8 +3705,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4123,7 +4124,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,81 +4312,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4423,33 +4441,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4469,23 +4487,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4496,46 +4514,46 @@ msgstr "" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/it/messages.po b/src/frontend/src/locales/it/messages.po index fb4c84035d..41cab5a28f 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: 2024-06-04 12:39\n" +"PO-Revision-Date: 2024-06-09 22:50\n" "Last-Translator: \n" "Language-Team: Italian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -59,7 +59,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -145,7 +145,7 @@ msgstr "" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "" @@ -209,7 +209,7 @@ msgstr "" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -551,7 +551,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -990,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1211,7 +1211,7 @@ msgstr "" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1298,16 +1298,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" @@ -1408,26 +1408,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "" @@ -2190,9 +2191,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3393,15 +3394,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "" @@ -3413,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3494,8 +3495,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3704,8 +3705,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4123,7 +4124,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,81 +4312,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4423,33 +4441,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4469,23 +4487,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4496,46 +4514,46 @@ msgstr "" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/ja/messages.po b/src/frontend/src/locales/ja/messages.po index 9b2724a1d5..02f44eaa77 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: 2024-06-04 12:39\n" +"PO-Revision-Date: 2024-06-09 22:50\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -59,7 +59,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "エラー" @@ -145,7 +145,7 @@ msgstr "" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "" @@ -209,7 +209,7 @@ msgstr "" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -551,7 +551,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "読み込み中" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -990,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "パーツ" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "パーツ" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "在庫商品" @@ -1211,7 +1211,7 @@ msgstr "在庫場所" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "在庫場所" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1298,16 +1298,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "ユーザー" @@ -1408,26 +1408,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "在庫" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "" @@ -2190,9 +2191,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3393,15 +3394,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "価格" @@ -3413,50 +3414,50 @@ msgstr "価格" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3494,8 +3495,8 @@ msgstr "未読にする" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "添付ファイル" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "メモ" @@ -3704,8 +3705,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4123,7 +4124,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,81 +4312,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4423,33 +4441,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4469,23 +4487,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4496,46 +4514,46 @@ msgstr "" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "在庫商品を編集" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "フィルタ" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "値" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/ko/messages.po b/src/frontend/src/locales/ko/messages.po index e3ad255f77..647f31f33f 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: 2024-06-04 12:39\n" +"PO-Revision-Date: 2024-06-09 22:50\n" "Last-Translator: \n" "Language-Team: Korean\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -59,7 +59,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -145,7 +145,7 @@ msgstr "" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "" @@ -209,7 +209,7 @@ msgstr "" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -551,7 +551,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -990,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1211,7 +1211,7 @@ msgstr "" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1298,16 +1298,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" @@ -1408,26 +1408,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "" @@ -2190,9 +2191,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3393,15 +3394,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "" @@ -3413,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3494,8 +3495,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3704,8 +3705,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4123,7 +4124,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,81 +4312,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4423,33 +4441,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4469,23 +4487,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4496,46 +4514,46 @@ msgstr "" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/lv/messages.po b/src/frontend/src/locales/lv/messages.po index 20aa3d6879..84d17d0deb 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: 2024-06-04 12:40\n" +"PO-Revision-Date: 2024-06-09 22:50\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" @@ -59,7 +59,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -145,7 +145,7 @@ msgstr "" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "" @@ -209,7 +209,7 @@ msgstr "" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -551,7 +551,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -990,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1211,7 +1211,7 @@ msgstr "" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1298,16 +1298,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" @@ -1408,26 +1408,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "" @@ -2190,9 +2191,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3393,15 +3394,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "" @@ -3413,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3494,8 +3495,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3704,8 +3705,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4123,7 +4124,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,81 +4312,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4423,33 +4441,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4469,23 +4487,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4496,46 +4514,46 @@ msgstr "" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/nl/messages.po b/src/frontend/src/locales/nl/messages.po index 6e3c4c758c..d1f10d1bfe 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: 2024-06-04 12:39\n" +"PO-Revision-Date: 2024-06-09 22:50\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -59,7 +59,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -145,7 +145,7 @@ msgstr "De bijbehorende afbeelding van dit item verwijderen?" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "Verwijderen" @@ -209,7 +209,7 @@ msgstr "Onderdeel is niet actief" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "Inactief" @@ -551,7 +551,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -990,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1211,7 +1211,7 @@ msgstr "" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1298,16 +1298,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "Verkooporder" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Verkooporders" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "Verzendingen verkooporders" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "Retourorder" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" @@ -1408,26 +1408,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "" @@ -2190,9 +2191,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "Verkoop" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3393,15 +3394,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "" @@ -3413,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "Productieorders" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3494,8 +3495,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "Status" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "Bijlagen" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "Opmerkingen" @@ -3704,8 +3705,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4123,7 +4124,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,81 +4312,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4423,33 +4441,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4469,23 +4487,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "Regelitems" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "Voltooide Verzendingen" @@ -4496,46 +4514,46 @@ msgstr "Voltooide Verzendingen" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "Order Details" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "Klantreferentie" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "Retourorder toevoegen" msgid "Customers" msgstr "Klanten" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "Voeg Verkooporder toe" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "In afwachting van verzending" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/no/messages.po b/src/frontend/src/locales/no/messages.po index 338a0ed524..6e5a933b4a 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: 2024-06-04 12:39\n" +"PO-Revision-Date: 2024-06-09 22:50\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -59,7 +59,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "Feil" @@ -145,7 +145,7 @@ msgstr "" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "Fjern" @@ -209,7 +209,7 @@ msgstr "" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -551,7 +551,7 @@ msgstr "Vert" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "Navn: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "Status: <0>arbeider ({0}), <1>utvidelser{1}" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Søk" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Laster" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "Ingen resultater funnet" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "Lukk modal" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "Server" @@ -990,7 +990,7 @@ msgstr "Kontoinnstillinger" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "Systeminnstillinger" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "Om" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "Ukjent modell: {model}" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "Del" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "Deler" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "Leverandørdel" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "Delkategori" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "Delkategorier" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "Lagervare" @@ -1211,7 +1211,7 @@ msgstr "Lagerplassering" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "Lagerplasseringer" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "Prosjektkoder" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "Innkjøpsordre" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Innkjøpsordrer" @@ -1298,16 +1298,16 @@ msgstr "Ordrelinjer for innkjøpsordre" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "Salgsordre" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Salgsordrer" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "Salgsordreforsendelser" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "Returordre" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "Adresser" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "Kontakt" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "Eiere" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "Bruker" @@ -1408,26 +1408,27 @@ msgstr "Forsendelse" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "Lagerbeholdning" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "Serienummer" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "Hjem" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "Dashbord" @@ -2190,9 +2191,9 @@ msgstr "Innkjøp" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "Salg" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "Angi serienumre for ny lagerbeholdning (eller la stå tom)" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "På lager" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "Handlinger" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "Legg til" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "Tell" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "Overfør lager" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "Tell beholdning" @@ -3393,15 +3394,15 @@ msgstr "Velg innstillinger som er relevante for brukerens livssyklus. Mer tilgje msgid "System settings" msgstr "Systeminnstillinger" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "Innlogging" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "Strekkoder" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "Prising" @@ -3413,50 +3414,50 @@ msgstr "Prising" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "Etiketter" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "Rapportering" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "Lagertelling" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "Produksjonsordrer" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "Bytt til brukerinnstilling" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "Konto" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "Sikkerhet" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "Visningsvalg" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "Kontoinnstillinger" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "Bytt til systeminnstilling" @@ -3494,8 +3495,8 @@ msgstr "Marker som ulest" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "Status" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "Opprettet" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "Måldato" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "Underordnede Produksjonsordrer" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "Vedlegg" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "Notater" @@ -3704,8 +3705,8 @@ msgstr "Produksjonsordre-handlinger" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "Produsent" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "Parametere" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "Leverandører" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "Mottatt lagerbeholdning" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "Kategori" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "IPN" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "Enheter" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "Nøkkelord" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "Lenke" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "I bestilling" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "Kan Produsere" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "Produseres" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "Produseres" msgid "Active" msgstr "Aktiv" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "Sammenstilt del" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "Sporbar del" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "Opprettelsesdato" @@ -4123,7 +4124,7 @@ msgstr "Opprettelsesdato" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "Prisområde" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "Varianter" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "Tildelinger" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "Stykkliste (BOM)" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "Brukt i" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "Produsenter" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "Planlegging" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "Testmaler" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "Relaterte Deler" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "Relaterte Deler" msgid "Available" msgstr "Tilgjengelig" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "I bestilling" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "Under produksjon" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "Rediger del" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "Lagerhandlinger" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "Tell delbeholdning" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "Overfør delbeholdning" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "Delhandlinger" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "Komponent" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "Enhetspris" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,81 +4312,117 @@ msgstr "Enhetspris" msgid "Total Price" msgstr "Total pris" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "Komponent" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "Enhetspris" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "Oppdatert" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4423,33 +4441,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "Dato" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4469,23 +4487,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "Ordrelinjer" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "Fullførte forsendelser" @@ -4496,46 +4514,46 @@ msgstr "Fullførte forsendelser" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "Ordredetaljer" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "Ordrehandlinger" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "Kundereferanse" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "" msgid "Customers" msgstr "Kunder" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "Ventende forsendelser" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "Basisdel" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "Sporing av lager" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "Testdata" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "Installerte artikler" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "Underordnede artikler" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "Rediger lagervare" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "Lagerhandlinger" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "Tell beholdning" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "Legg til lager" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "Fjern lager" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "Overfør" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "Overfør lager" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "Filter" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "Verdi" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "Oppgave-ID" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "Startet" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/pl/messages.po b/src/frontend/src/locales/pl/messages.po index f51c3e3271..b2fb49b58b 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: 2024-06-04 12:39\n" +"PO-Revision-Date: 2024-06-09 22:50\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" @@ -59,7 +59,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -145,7 +145,7 @@ msgstr "" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "" @@ -209,7 +209,7 @@ msgstr "" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -551,7 +551,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -990,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1211,7 +1211,7 @@ msgstr "" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1298,16 +1298,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" @@ -1408,26 +1408,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "" @@ -2190,9 +2191,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3393,15 +3394,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "" @@ -3413,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3494,8 +3495,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3704,8 +3705,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4123,7 +4124,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,81 +4312,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4423,33 +4441,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4469,23 +4487,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4496,46 +4514,46 @@ msgstr "" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/pseudo-LOCALE/messages.po b/src/frontend/src/locales/pseudo-LOCALE/messages.po index 64d901c414..9fc7d7f771 100644 --- a/src/frontend/src/locales/pseudo-LOCALE/messages.po +++ b/src/frontend/src/locales/pseudo-LOCALE/messages.po @@ -83,18 +83,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -180,7 +180,7 @@ msgstr "" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "" @@ -242,9 +242,9 @@ msgstr "" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -283,6 +283,35 @@ msgstr "" msgid "Virtual" msgstr "" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "" @@ -369,11 +398,6 @@ msgstr "" msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "" @@ -562,7 +586,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -586,7 +610,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -614,20 +637,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "" @@ -898,7 +921,7 @@ msgid "Close modal" msgstr "" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -1006,7 +1029,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -1070,8 +1093,8 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1139,7 +1162,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1148,11 +1171,11 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "" @@ -1175,7 +1198,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1199,15 +1222,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1227,7 +1250,7 @@ msgstr "" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "" @@ -1266,7 +1289,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1289,17 +1312,17 @@ msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1314,16 +1337,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1337,13 +1360,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1361,8 +1384,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1380,7 +1403,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" @@ -1424,26 +1447,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -1883,16 +1907,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -2060,7 +2080,7 @@ msgstr "" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "" @@ -2210,9 +2230,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "" @@ -2503,7 +2523,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2554,7 +2574,7 @@ msgstr "" #~ msgstr "" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2576,8 +2596,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2599,14 +2619,14 @@ msgid "Actions" msgstr "" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2619,12 +2639,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3413,15 +3433,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "" @@ -3433,50 +3453,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3514,8 +3534,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3528,8 +3548,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3540,10 +3560,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3576,10 +3596,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3594,8 +3614,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3633,7 +3653,7 @@ msgstr "" #~ msgstr "" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3677,21 +3697,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3724,8 +3744,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3772,10 +3792,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3808,12 +3828,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -3843,12 +3863,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3884,7 +3904,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3918,7 +3938,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -4008,85 +4028,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4104,37 +4124,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4143,7 +4163,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4155,69 +4175,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4225,55 +4247,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4286,6 +4308,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4294,54 +4317,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4350,81 +4351,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4443,33 +4480,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4489,23 +4526,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4516,46 +4553,46 @@ msgstr "" #~ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4565,17 +4602,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4638,11 +4675,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4654,15 +4691,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4675,31 +4712,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4707,34 +4744,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4825,7 +4862,7 @@ msgstr "" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "" @@ -5263,7 +5300,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5755,75 +5792,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6312,7 +6349,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6718,95 +6755,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/pt-br/messages.po b/src/frontend/src/locales/pt-br/messages.po index 47136e0bf7..5b4d46d7f5 100644 --- a/src/frontend/src/locales/pt-br/messages.po +++ b/src/frontend/src/locales/pt-br/messages.po @@ -43,18 +43,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -140,7 +140,7 @@ msgstr "" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "" @@ -202,9 +202,9 @@ msgstr "" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -243,6 +243,35 @@ msgstr "" msgid "Virtual" msgstr "" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "" @@ -329,11 +358,6 @@ msgstr "" msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "" @@ -503,7 +527,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -527,7 +551,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -555,20 +578,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "" @@ -835,7 +858,7 @@ msgid "Close modal" msgstr "" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -943,7 +966,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -999,8 +1022,8 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1068,7 +1091,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1077,11 +1100,11 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "" @@ -1104,7 +1127,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1128,15 +1151,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1156,7 +1179,7 @@ msgstr "" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "" @@ -1195,7 +1218,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1218,17 +1241,17 @@ msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1243,16 +1266,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1266,13 +1289,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1290,8 +1313,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1309,7 +1332,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" @@ -1353,26 +1376,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -1808,16 +1832,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -1985,7 +2005,7 @@ msgstr "" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "" @@ -2127,9 +2147,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "" @@ -2356,7 +2376,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2407,7 +2427,7 @@ msgstr "" #~ msgstr "" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2429,8 +2449,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2452,14 +2472,14 @@ msgid "Actions" msgstr "" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2472,12 +2492,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3134,15 +3154,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "" @@ -3154,50 +3174,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3231,8 +3251,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3245,8 +3265,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3257,10 +3277,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3293,10 +3313,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3311,8 +3331,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3350,7 +3370,7 @@ msgstr "" #~ msgstr "" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3394,21 +3414,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3441,8 +3461,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3489,10 +3509,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3525,12 +3545,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -3560,12 +3580,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3601,7 +3621,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3635,7 +3655,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3725,85 +3745,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3821,37 +3841,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -3860,7 +3880,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -3872,69 +3892,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -3942,55 +3964,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -3999,6 +4021,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4007,54 +4030,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4063,81 +4064,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4156,33 +4193,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4202,23 +4239,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4229,46 +4266,46 @@ msgstr "" #~ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4278,17 +4315,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4351,11 +4388,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4367,15 +4404,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4388,31 +4425,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4420,34 +4457,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4538,7 +4575,7 @@ msgstr "" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "" @@ -4976,7 +5013,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5468,75 +5505,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6025,7 +6062,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6431,95 +6468,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/pt/messages.po b/src/frontend/src/locales/pt/messages.po index 18232b0cd2..00457111b0 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: 2024-06-04 12:40\n" +"PO-Revision-Date: 2024-06-09 22:50\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -59,7 +59,7 @@ msgstr "Impressão de etiqueta finalizada com sucesso" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "Erro" @@ -145,7 +145,7 @@ msgstr "Remover imagem associada a este item?" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "Remover" @@ -209,7 +209,7 @@ msgstr "Peça inativa" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "Inativo" @@ -551,7 +551,7 @@ msgstr "Servidor" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "Nome: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "Estado: <0>funcionário ({0}), <1>extensões{1}" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Buscar" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Carregando" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "Nenhum resultado encontrado" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "Fechar o modal" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "Servidor" @@ -990,7 +990,7 @@ msgstr "Configurações de conta" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "Configurações do Sistema" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "Sobre" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "Modelo desconhecido: {model}" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "Peça" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "Peças" @@ -1159,7 +1159,7 @@ msgstr "Teste de Modelos de Peças" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "Fornecedor da Peça" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "Categoria da Peça" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "Categorias de Peça" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "Item de estoque" @@ -1211,7 +1211,7 @@ msgstr "Localização do estoque" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "Locais de estoque" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "Códigos de Projeto" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "Pedido de Compra" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Pedidos de compra" @@ -1298,16 +1298,16 @@ msgstr "Linhas do Pedido de Compra" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "Pedido de Venda" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Pedidos de vendas" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "Envios do Pedido Venda" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "Pedido de Devolução" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "Endereços" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "Contato" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "Proprietários" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "Usuário" @@ -1408,26 +1408,27 @@ msgstr "Remessa" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "Estoque" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "Número de Série" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "Início" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "Painel de Controle" @@ -2190,9 +2191,9 @@ msgstr "Comprando" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "Vendas" @@ -2483,7 +2484,7 @@ msgstr "Remover item da lista" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "Insira o número de série para novo estoque (ou deixe em branco)" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "Mover para o local padrão" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "Em Estoque" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "Ações" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "Adicionar" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "Contar" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "Remover Estoque" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "Transferir Estoque" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "Contar Estoque" @@ -3393,15 +3394,15 @@ msgstr "Selecione as configurações relevantes para o ciclo de vida dos usuári msgid "System settings" msgstr "Configurações do sistema" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "Entrar" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "Códigos de barras" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "Preços" @@ -3413,50 +3414,50 @@ msgstr "Preços" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "Etiquetas" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "Relatórios" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "Balanço" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "Ordens de Produções" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "Mudar para Configuração de Usuário" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "Conta" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "Segurança" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "Opções de exibição" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "Configurações de Conta" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "Mudar para Configuração do Sistema" @@ -3494,8 +3495,8 @@ msgstr "Marcar como não lido" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "Estado" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "Referência" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "Emitido por" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "Criado" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "Data Prevista" @@ -3613,7 +3614,7 @@ msgstr "Local de Destino" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "Código de Lote" @@ -3657,21 +3658,21 @@ msgstr "Pedido de Produção Filhos" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "Anexos" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "Anotações" @@ -3704,8 +3705,8 @@ msgstr "Ações do Pedido de Produção" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "Cancelar pedido" @@ -3752,10 +3753,10 @@ msgstr "Fabricante" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "Detalhes de peça do Fabricante" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "Parâmetros" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "Fornecedores" @@ -3864,7 +3865,7 @@ msgstr "Código (SKU)" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "Embalagem" @@ -3898,7 +3899,7 @@ msgstr "Estoque Recebido" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "Preço do fornecedor" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "Variante de" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "Categoria" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "Local Padrão" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "IPN" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "Revisão" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "Unidades" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "Palavras-chave" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "Link" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "Estoque Disponível" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "Estoque Mínimo" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "No pedido" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "Alocado para Pedidos de Construção" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "Alocado para Pedidos de Venda" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "Pode Produzir" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "Produzindo" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "Produzindo" msgid "Active" msgstr "Ativo" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "Peça Montada" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "Peça Rastreável" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "Criado em" @@ -4123,7 +4124,7 @@ msgstr "Criado em" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "Fornecedor Padrão" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "Faixa de Preço" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "Último Balanço" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "Variantes" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "Alocações" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "Lista de Materiais" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "Usado em" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "Fabricantes" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "Agendamento" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "Testar Modelos" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "Peças Relacionadas" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "Peças Relacionadas" msgid "Available" msgstr "Disponível" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "No pedido" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "Em Produção" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "Editar Peça" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "Excluir Peça" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "Excluir esta peça não é reversível" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "Ações de Estoque" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "Contagem do estoque" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "Transferir estoque de peça" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "Ações da Peça" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "Nenhum dado de preço foi encontrado para esta peça." #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "Resumo de Preços" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "Histórico de Compras" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "Preço Interno" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "Preço LDM" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "Preço de Variante" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "Preço de Venda" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "Histórico de Vendas" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "Preço Mínimo Total" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "Preço Máximo Total" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "Componente" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "Preço Unitário" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,82 +4312,118 @@ msgstr "Preço Unitário" msgid "Total Price" msgstr "Preço Total" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "Componente" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "Preço Mínimo" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "Preço Máximo" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "Preço Unitário" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "Atualizado" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "Gráfico Pizza" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "Grafico de Barras" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "Adicionar Quebra de Preço" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "Editar Quebra de Preço" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "Excluir Quebra de Preço" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "Quebra de Preço" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "Categoria de Precificação" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "Mínimo" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "Máximo" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "Preço de Compra" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "Sobrepor Precificação" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "Precificação Geral" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "Última Atualização" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" -msgstr "Preço Mínimo" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" +msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" -msgstr "Preço Máximo" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" +msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 msgid "No data available" @@ -4423,33 +4441,33 @@ msgstr "Não há informações de preço disponíveis" msgid "Loading pricing data" msgstr "Carregando dados de preços" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "Data" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "Preço de Compra" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "Pedido de Venda" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "Preço de Venda" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "Preço do fornecedor" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "Peça Variante" @@ -4469,23 +4487,23 @@ msgstr "Referencia do fornecedor" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "Itens de linha" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "Itens de Linha Concluídos" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "Envios Concluídos" @@ -4496,46 +4514,46 @@ msgstr "Envios Concluídos" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "Moeda do pedido" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "Custo Total" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "Criado em" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "Detalhes do pedido" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "Ações de Pedido" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "Referência do Cliente" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "Editar Pedido de Devolução" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "Adicionar Pedido de Devolução" msgid "Customers" msgstr "Clientes" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "Editar Pedido de Venda" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "Adicionar Pedido de Vendas" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "Envios Pendentes" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "Peça base" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "Rastreamento de Estoque" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "Dados de Teste" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "Itens Instalados" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "Itens Filhos" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "Editar Item do Estoque" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "Operações de Estoque" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "Contagem de estoque" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "Adicionar estoque" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "Remover estoque" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "Transferir" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "Transferir estoque" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "Filtro" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "Valor" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "Mostrar testes necessários" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "Mostrar testes que exigem um valor" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "Mostrar testes que exigem um anexo" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "Adicionar Modelo de Teste" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "Editar Modelo de Teste" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "Excluir Modelo de Teste" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "ID da Tarefa" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "Iniciado" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/ru/messages.po b/src/frontend/src/locales/ru/messages.po index 769bd9e7b9..3dfdc14580 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: 2024-06-04 12:39\n" +"PO-Revision-Date: 2024-06-09 22:50\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" @@ -59,7 +59,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "Ошибка" @@ -145,7 +145,7 @@ msgstr "Удалить связанное изображение?" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "Удалить" @@ -209,7 +209,7 @@ msgstr "" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -551,7 +551,7 @@ msgstr "Узел" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "Название: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "Состояние: <0>рабочий ({0}), <1>плагины{1}" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Поиск" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Загрузка" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "Ничего не найдено" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "Закрыть модальное окно" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -990,7 +990,7 @@ msgstr "Настройки аккаунта" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "Неизвестная модель: {model}" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "Детали" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "Категории деталей" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1211,7 +1211,7 @@ msgstr "" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "Места хранения" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Заказы на закупку" @@ -1298,16 +1298,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Заказы на продажу" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" @@ -1408,26 +1408,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "" @@ -2190,9 +2191,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3393,15 +3394,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "" @@ -3413,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "Заказы на сборку" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3494,8 +3495,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3704,8 +3705,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4123,7 +4124,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,81 +4312,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4423,33 +4441,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4469,23 +4487,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4496,46 +4514,46 @@ msgstr "" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "Отфильтровать" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "Значение" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/sk/messages.po b/src/frontend/src/locales/sk/messages.po index ec3de210c3..2c408849e0 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: 2024-06-04 12:39\n" +"PO-Revision-Date: 2024-06-09 22:50\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" @@ -59,7 +59,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -145,7 +145,7 @@ msgstr "" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "" @@ -209,7 +209,7 @@ msgstr "" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -551,7 +551,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -990,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1211,7 +1211,7 @@ msgstr "" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1298,16 +1298,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" @@ -1408,26 +1408,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "" @@ -2190,9 +2191,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3393,15 +3394,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "" @@ -3413,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3494,8 +3495,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3704,8 +3705,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4123,7 +4124,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,81 +4312,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4423,33 +4441,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4469,23 +4487,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4496,46 +4514,46 @@ msgstr "" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/sl/messages.po b/src/frontend/src/locales/sl/messages.po index 15e12cb5e1..32bfa53652 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: 2024-06-04 12:39\n" +"PO-Revision-Date: 2024-06-09 22:50\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" @@ -59,7 +59,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -145,7 +145,7 @@ msgstr "" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "" @@ -209,7 +209,7 @@ msgstr "" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -551,7 +551,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -990,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1211,7 +1211,7 @@ msgstr "" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1298,16 +1298,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" @@ -1408,26 +1408,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "" @@ -2190,9 +2191,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3393,15 +3394,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "" @@ -3413,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3494,8 +3495,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3704,8 +3705,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4123,7 +4124,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,81 +4312,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4423,33 +4441,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4469,23 +4487,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4496,46 +4514,46 @@ msgstr "" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/sr/messages.po b/src/frontend/src/locales/sr/messages.po index 37c92ee7f2..25b4d449a5 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: 2024-06-04 12:40\n" +"PO-Revision-Date: 2024-06-09 22:50\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" @@ -59,7 +59,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "Grеška" @@ -145,7 +145,7 @@ msgstr "" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "" @@ -209,7 +209,7 @@ msgstr "" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -551,7 +551,7 @@ msgstr "Host" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "Naziv: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "Status: <0>worker ({0}), <1>plugins{1}" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Pretraga" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Učitavanje" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "Nema pronađenih rezultata" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -990,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1211,7 +1211,7 @@ msgstr "" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1298,16 +1298,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" @@ -1408,26 +1408,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "" @@ -2190,9 +2191,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3393,15 +3394,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "" @@ -3413,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3494,8 +3495,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3704,8 +3705,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4123,7 +4124,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,81 +4312,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4423,33 +4441,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4469,23 +4487,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4496,46 +4514,46 @@ msgstr "" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/sv/messages.po b/src/frontend/src/locales/sv/messages.po index d0dbf39b50..0eeb29a2be 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: 2024-06-04 12:39\n" +"PO-Revision-Date: 2024-06-09 22:50\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -59,7 +59,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "Fel" @@ -145,7 +145,7 @@ msgstr "" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "" @@ -209,7 +209,7 @@ msgstr "" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -551,7 +551,7 @@ msgstr "Värd" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "Namn: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Sök" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "Inga resultat hittades" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "Stäng fönstret" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -990,7 +990,7 @@ msgstr "Kontoinställningar" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "Om" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "Artkel" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "Artiklar" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "Artikelkategorier" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1211,7 +1211,7 @@ msgstr "" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "Lagerplats" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "Projektkoder" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Inköpsorder" @@ -1298,16 +1298,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Försäljningsorder" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "Användare" @@ -1408,26 +1408,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "Lagersaldo" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "Hem" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "Kontrollpanel" @@ -2190,9 +2191,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "Åtgärder" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3393,15 +3394,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "Streckkoder" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "" @@ -3413,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "Etiketter" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "Byggordrar" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "Konto" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "Kontoinställningar" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3494,8 +3495,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "Status" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3704,8 +3705,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "Parametrar" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "Kategori" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "IAN" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "Enheter" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "Länk" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "" msgid "Active" msgstr "Aktiv" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4123,7 +4124,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "Prisintervall" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "Komponent" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,81 +4312,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "Komponent" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4423,33 +4441,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4469,23 +4487,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4496,46 +4514,46 @@ msgstr "" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "Filter" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "Värde" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "Resultat" msgid "No Results" msgstr "Inga resultat" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/th/messages.po b/src/frontend/src/locales/th/messages.po index e4d9da6a86..9aff2a750a 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: 2024-06-04 12:40\n" +"PO-Revision-Date: 2024-06-09 22:50\n" "Last-Translator: \n" "Language-Team: Thai\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -59,7 +59,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -145,7 +145,7 @@ msgstr "" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "" @@ -209,7 +209,7 @@ msgstr "" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -551,7 +551,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -990,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1211,7 +1211,7 @@ msgstr "" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1298,16 +1298,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" @@ -1408,26 +1408,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "" @@ -2190,9 +2191,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3393,15 +3394,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "" @@ -3413,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3494,8 +3495,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3704,8 +3705,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4123,7 +4124,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,81 +4312,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4423,33 +4441,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4469,23 +4487,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4496,46 +4514,46 @@ msgstr "" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/tr/messages.po b/src/frontend/src/locales/tr/messages.po index 7a8b261b47..d16819ebd1 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: 2024-06-04 12:39\n" +"PO-Revision-Date: 2024-06-09 22:50\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -59,7 +59,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "Hata" @@ -145,7 +145,7 @@ msgstr "" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "" @@ -209,7 +209,7 @@ msgstr "" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -551,7 +551,7 @@ msgstr "Sunucu" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "İsim: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "Durum: <0>worker ({0}), <1>eklenti{1}" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Yükleniyor" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "Pencereyi kapat" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -990,7 +990,7 @@ msgstr "Hesap ayarları" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "Hakkında" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "Parça" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "Parçalar" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "Parça Kategorileri" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1211,7 +1211,7 @@ msgstr "" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "Stok Konumları" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Satın Alma Emirleri" @@ -1298,16 +1298,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Satış Emirleri" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "Kullanıcı" @@ -1408,26 +1408,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "Stok" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "Ana Sayfa" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "Panel" @@ -2190,9 +2191,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "Eylemler" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3393,15 +3394,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "" @@ -3413,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "Yapım İşi Emirleri" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3494,8 +3495,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "Durum" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3704,8 +3705,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "Kategori" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "DPN" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "Birim" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "Bağlantı" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "" msgid "Active" msgstr "Aktif" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4123,7 +4124,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "Fiyat Aralığı" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "Bileşen" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,81 +4312,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "Bileşen" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4423,33 +4441,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4469,23 +4487,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4496,46 +4514,46 @@ msgstr "" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "Filtre" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "Değer" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/uk/messages.po b/src/frontend/src/locales/uk/messages.po index 0d3c782219..f9a8266fba 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: 2024-06-04 12:39\n" +"PO-Revision-Date: 2024-06-09 22:50\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" @@ -59,7 +59,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -145,7 +145,7 @@ msgstr "" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "" @@ -209,7 +209,7 @@ msgstr "" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -551,7 +551,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -990,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1211,7 +1211,7 @@ msgstr "" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1298,16 +1298,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" @@ -1408,26 +1408,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "" @@ -2190,9 +2191,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3393,15 +3394,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "" @@ -3413,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3494,8 +3495,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3704,8 +3705,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4123,7 +4124,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,81 +4312,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4423,33 +4441,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4469,23 +4487,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4496,46 +4514,46 @@ msgstr "" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/vi/messages.po b/src/frontend/src/locales/vi/messages.po index d89101effb..0dc457665e 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: 2024-06-04 12:40\n" +"PO-Revision-Date: 2024-06-09 22:50\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -59,7 +59,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "Lỗi" @@ -145,7 +145,7 @@ msgstr "" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "" @@ -209,7 +209,7 @@ msgstr "" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -551,7 +551,7 @@ msgstr "Host" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "Tên: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "Trạng thái: <0>worker ({0}), <1>plugins{1}" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Tìm kiếm" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Đang tải" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "Không có kết quả nào được tìm thấy" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "Đóng cửa sổ" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "Máy chủ" @@ -990,7 +990,7 @@ msgstr "Cài đặt tài khoản" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "Thiết lập hệ thống" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "Giới thiệu" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "Model không rõ: {model}" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "Phụ kiện" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "Phụ tùng" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "Phụ kiện nhà cung cấp" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "Danh mục phụ kiện" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "Danh mục phụ kiện" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "Hàng trong kho" @@ -1211,7 +1211,7 @@ msgstr "Vị trí kho hàng" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "Vị trí kho hàng" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "Mã dự án" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "Đơn đặt mua" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Đơn hàng mua" @@ -1298,16 +1298,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "Đơn đặt bán" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Đơn hàng bán" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "Vận chuyển đơn hàng" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "Đơn hàng trả lại" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "Địa chỉ" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "Liên hệ" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "Chủ sở hữu" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "Người dùng" @@ -1408,26 +1408,27 @@ msgstr "Lô hàng" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "Kho hàng" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "Trang chủ" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "Bảng điều khiển" @@ -2190,9 +2191,9 @@ msgstr "Mua sắm" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "Bán hàng" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "Điền số sê-ri cho kho mới (hoặc để trống)" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "Còn hàng" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "Chức năng" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "Thêm" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "Đếm" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3393,15 +3394,15 @@ msgstr "Chọn thiết lập thích hợp với vòng đời người dùng. Có msgid "System settings" msgstr "Thiết lập hệ thống" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "Đăng nhập" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "Mã vạch" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "Giá bán" @@ -3413,50 +3414,50 @@ msgstr "Giá bán" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "Nhãn" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "Báo cáo" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "Kiểm kê" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "Đơn đặt bản dựng" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "Chuyển sang thiết lập người dùng" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "Tài khoản" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "Bảo mật" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "Tùy chọn hiển thị" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "Cài đặt tài khoản" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "Chuyển sang thiết lập hệ thống" @@ -3494,8 +3495,8 @@ msgstr "Đánh dấu chưa đọc" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "Trạng thái" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "Ngày mục tiêu" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "Đơn đặt bản dựng con" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "Đính kèm" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "Ghi chú" @@ -3704,8 +3705,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "Nhà sản xuất" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "Thông số" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "Nhà cung cấp" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "Danh mục" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "IPN" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "Đơn vị" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "Liên kết" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "" msgid "Active" msgstr "Hoạt động" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4123,7 +4124,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "Khoảng giá" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "Biến thể" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "Phân bổ" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "Hóa đơn nguyên vật liệu" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "Sử dụng trong" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "Mẫu thử nghiệm" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "Phụ kiện liên quan" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "Phụ kiện liên quan" msgid "Available" msgstr "Có sẵn" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "On Order" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "Sửa phụ kiện" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "Thành phần" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "Đơn giá" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,81 +4312,117 @@ msgstr "Đơn giá" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "Thành phần" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "Đơn giá" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "Đã cập nhật" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4423,33 +4441,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4469,23 +4487,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "Dòng hàng hóa" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4496,46 +4514,46 @@ msgstr "" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "Chi tiết đơn đặt" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "Chức năng đơn đặt" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "Sản phẩm cơ bản" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "Theo dõi tồn kho" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "Mục đã cài đặt" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "Mục con" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "Sửa hàng trong kho" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "Đếm hàng" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "Thêm hàng" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "Xóa hàng" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "Chuyển" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "Chuyển giao hàng" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "Bộ lọc" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "Giá trị" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/zh-hans/messages.po b/src/frontend/src/locales/zh-hans/messages.po index 6984d8df77..b004c60d08 100644 --- a/src/frontend/src/locales/zh-hans/messages.po +++ b/src/frontend/src/locales/zh-hans/messages.po @@ -43,18 +43,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -140,7 +140,7 @@ msgstr "" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "" @@ -202,9 +202,9 @@ msgstr "" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -243,6 +243,35 @@ msgstr "" msgid "Virtual" msgstr "" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "" @@ -329,11 +358,6 @@ msgstr "" msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "" @@ -503,7 +527,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -527,7 +551,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -555,20 +578,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "" @@ -835,7 +858,7 @@ msgid "Close modal" msgstr "" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -943,7 +966,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -999,8 +1022,8 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1068,7 +1091,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1077,11 +1100,11 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "" @@ -1104,7 +1127,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1128,15 +1151,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1156,7 +1179,7 @@ msgstr "" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "" @@ -1195,7 +1218,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1218,17 +1241,17 @@ msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1243,16 +1266,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1266,13 +1289,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1290,8 +1313,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1309,7 +1332,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" @@ -1353,26 +1376,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -1808,16 +1832,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -1985,7 +2005,7 @@ msgstr "" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "" @@ -2127,9 +2147,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "" @@ -2356,7 +2376,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2407,7 +2427,7 @@ msgstr "" #~ msgstr "" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2429,8 +2449,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2452,14 +2472,14 @@ msgid "Actions" msgstr "" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2472,12 +2492,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3134,15 +3154,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "" @@ -3154,50 +3174,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3231,8 +3251,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3245,8 +3265,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3257,10 +3277,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3293,10 +3313,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3311,8 +3331,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3350,7 +3370,7 @@ msgstr "" #~ msgstr "" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3394,21 +3414,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3441,8 +3461,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3489,10 +3509,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3525,12 +3545,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -3560,12 +3580,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3601,7 +3621,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3635,7 +3655,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3725,85 +3745,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3821,37 +3841,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -3860,7 +3880,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -3872,69 +3892,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -3942,55 +3964,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -3999,6 +4021,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4007,54 +4030,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4063,81 +4064,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4156,33 +4193,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4202,23 +4239,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4229,46 +4266,46 @@ msgstr "" #~ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4278,17 +4315,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4351,11 +4388,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4367,15 +4404,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4388,31 +4425,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4420,34 +4457,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4538,7 +4575,7 @@ msgstr "" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "" @@ -4976,7 +5013,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5468,75 +5505,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6025,7 +6062,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6431,95 +6468,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/zh-hant/messages.po b/src/frontend/src/locales/zh-hant/messages.po index 88456a526f..497e573413 100644 --- a/src/frontend/src/locales/zh-hant/messages.po +++ b/src/frontend/src/locales/zh-hant/messages.po @@ -43,18 +43,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -140,7 +140,7 @@ msgstr "" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "" @@ -202,9 +202,9 @@ msgstr "" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 -#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -243,6 +243,35 @@ msgstr "" msgid "Virtual" msgstr "" +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" msgstr "" @@ -329,11 +358,6 @@ msgstr "" msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:430 -#: src/components/widgets/MarkdownEditor.tsx:145 -msgid "Success" -msgstr "" - #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" #~ msgstr "" @@ -503,7 +527,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -527,7 +551,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -555,20 +578,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "" @@ -835,7 +858,7 @@ msgid "Close modal" msgstr "" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -943,7 +966,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -999,8 +1022,8 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1068,7 +1091,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1077,11 +1100,11 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "" @@ -1104,7 +1127,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1128,15 +1151,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1156,7 +1179,7 @@ msgstr "" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "" @@ -1195,7 +1218,7 @@ msgid "Build Lines" msgstr "" #: src/components/render/ModelType.tsx:117 -#: src/pages/company/CompanyDetail.tsx:323 +#: src/pages/company/CompanyDetail.tsx:327 msgid "Company" msgstr "" @@ -1218,17 +1241,17 @@ msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1243,16 +1266,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1266,13 +1289,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1290,8 +1313,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1309,7 +1332,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" @@ -1353,26 +1376,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -1808,16 +1832,12 @@ msgid "Getting started" msgstr "" #: src/components/widgets/MarkdownEditor.tsx:108 -msgid "Failed to upload image" -msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:146 -msgid "Notes saved" -msgstr "" - -#: src/components/widgets/MarkdownEditor.tsx:154 -msgid "Failed to save notes" -msgstr "" +#~ msgid "Notes saved" +#~ msgstr "" #: src/components/widgets/WidgetLayout.tsx:166 msgid "Layout" @@ -1985,7 +2005,7 @@ msgstr "" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "" @@ -2127,9 +2147,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "" @@ -2356,7 +2376,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2407,7 +2427,7 @@ msgstr "" #~ msgstr "" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2429,8 +2449,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2452,14 +2472,14 @@ msgid "Actions" msgstr "" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2472,12 +2492,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3134,15 +3154,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "" @@ -3154,50 +3174,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3231,8 +3251,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3245,8 +3265,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3257,10 +3277,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3293,10 +3313,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3311,8 +3331,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3350,7 +3370,7 @@ msgstr "" #~ msgstr "" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3394,21 +3414,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3441,8 +3461,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3489,10 +3509,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3525,12 +3545,12 @@ msgstr "" msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:283 +#: src/pages/company/CompanyDetail.tsx:287 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:292 +#: src/pages/company/CompanyDetail.tsx:296 msgid "Company Actions" msgstr "" @@ -3560,12 +3580,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3601,7 +3621,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3635,7 +3655,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3725,85 +3745,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3821,37 +3841,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -3860,7 +3880,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -3872,69 +3892,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -3942,55 +3964,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -3999,6 +4021,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4007,54 +4030,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4063,81 +4064,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4156,33 +4193,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4202,23 +4239,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4229,46 +4266,46 @@ msgstr "" #~ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4278,17 +4315,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4351,11 +4388,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4367,15 +4404,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4388,31 +4425,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4420,34 +4457,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4538,7 +4575,7 @@ msgstr "" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "" @@ -4976,7 +5013,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5468,75 +5505,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6025,7 +6062,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6431,95 +6468,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/zh/messages.po b/src/frontend/src/locales/zh/messages.po index 4c1528d4d0..b3f91fb180 100644 --- a/src/frontend/src/locales/zh/messages.po +++ b/src/frontend/src/locales/zh/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: zh\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-06-04 12:40\n" +"PO-Revision-Date: 2024-06-09 22:50\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -59,7 +59,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/tables/InvenTreeTable.tsx:451 #: src/tables/InvenTreeTable.tsx:531 -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -145,7 +145,7 @@ msgstr "" #: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:462 +#: src/pages/stock/StockDetail.tsx:465 msgid "Remove" msgstr "" @@ -209,7 +209,7 @@ msgstr "" #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:314 #: src/pages/company/SupplierPartDetail.tsx:305 -#: src/pages/part/PartDetail.tsx:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -551,7 +551,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:78 -#: src/pages/part/PartDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:128 #: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -602,20 +602,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:315 -#: src/pages/Index/Settings/UserSettings.tsx:64 +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" msgstr "搜尋" -#: src/components/forms/fields/RelatedModelField.tsx:316 +#: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" msgstr "找不到結果" @@ -882,7 +882,7 @@ msgid "Close modal" msgstr "" #: src/components/modals/ServerInfoModal.tsx:26 -#: src/pages/Index/Settings/SystemSettings.tsx:35 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" msgstr "" @@ -990,7 +990,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" msgstr "" @@ -1054,8 +1054,8 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:78 -#: src/pages/Index/Settings/SystemSettings.tsx:100 -#: src/pages/Index/Settings/UserSettings.tsx:94 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 #: src/pages/Notifications.tsx:152 msgid "Notifications" @@ -1123,7 +1123,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 -#: src/pages/part/PartDetail.tsx:832 +#: src/pages/part/PartDetail.tsx:837 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1132,11 +1132,11 @@ msgstr "" #: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:168 +#: src/pages/Index/Settings/SystemSettings.tsx:171 #: src/pages/part/CategoryDetail.tsx:110 #: src/pages/part/CategoryDetail.tsx:235 #: src/pages/part/CategoryDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:640 +#: src/pages/part/PartDetail.tsx:645 msgid "Parts" msgstr "" @@ -1159,7 +1159,7 @@ msgstr "" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 #: src/pages/company/SupplierPartDetail.tsx:318 -#: src/pages/stock/StockDetail.tsx:162 +#: src/pages/stock/StockDetail.tsx:163 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" @@ -1183,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:163 +#: src/pages/Index/Settings/SystemSettings.tsx:165 #: src/pages/part/CategoryDetail.tsx:249 #: src/pages/part/CategoryDetail.tsx:282 -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:560 +#: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" @@ -1211,7 +1211,7 @@ msgstr "" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 -#: src/pages/stock/StockDetail.tsx:552 +#: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" msgstr "" @@ -1273,17 +1273,17 @@ msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:133 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 #: src/pages/purchasing/PurchaseOrderDetail.tsx:362 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:244 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1298,16 +1298,16 @@ msgstr "" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:347 -#: src/pages/stock/StockDetail.tsx:210 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:259 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:579 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1321,13 +1321,13 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:163 -#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:327 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1345,8 +1345,8 @@ msgstr "" #: src/components/render/ModelType.tsx:179 #: src/pages/purchasing/PurchaseOrderDetail.tsx:191 -#: src/pages/sales/ReturnOrderDetail.tsx:159 -#: src/pages/sales/SalesOrderDetail.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 msgid "Contact" msgstr "" @@ -1364,7 +1364,7 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" @@ -1408,26 +1408,27 @@ msgstr "" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:200 -#: src/pages/part/PartDetail.tsx:493 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 #: src/pages/stock/LocationDetail.tsx:345 -#: src/pages/stock/StockDetail.tsx:352 +#: src/pages/stock/StockDetail.tsx:355 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:52 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:517 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:54 #: src/forms/BuildForms.tsx:206 -#: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:94 -#: src/pages/stock/StockDetail.tsx:140 -#: src/pages/stock/StockDetail.tsx:523 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 @@ -2040,7 +2041,7 @@ msgstr "" #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:28 #: src/pages/Index/Dashboard.tsx:19 -#: src/pages/Index/Settings/UserSettings.tsx:41 +#: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" msgstr "" @@ -2190,9 +2191,9 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:330 +#: src/pages/sales/ReturnOrderDetail.tsx:332 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:352 +#: src/pages/sales/SalesOrderDetail.tsx:356 msgid "Sales" msgstr "" @@ -2483,7 +2484,7 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/stock/StockDetail.tsx:170 +#: src/pages/stock/StockDetail.tsx:171 #: src/tables/ColumnRenderers.tsx:34 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" @@ -2534,7 +2535,7 @@ msgstr "" #~ msgstr "Stock item updated" #: src/forms/StockForms.tsx:176 -#: src/pages/stock/StockDetail.tsx:375 +#: src/pages/stock/StockDetail.tsx:378 #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" @@ -2556,8 +2557,8 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:207 -#: src/pages/part/PartDetail.tsx:656 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2579,14 +2580,14 @@ msgid "Actions" msgstr "" #: src/forms/StockForms.tsx:512 -#: src/pages/stock/StockDetail.tsx:454 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:444 +#: src/pages/stock/StockDetail.tsx:447 msgid "Count" msgstr "" @@ -2599,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3393,15 +3394,15 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" msgstr "" @@ -3413,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:146 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:225 -#: src/pages/part/PartDetail.tsx:591 +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:230 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 -#: src/pages/sales/SalesOrderDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:299 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" msgstr "" -#: src/pages/Index/Settings/UserSettings.tsx:119 +#: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" msgstr "" @@ -3494,8 +3495,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:89 #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:97 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 @@ -3508,8 +3509,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:95 #: src/pages/purchasing/PurchaseOrderDetail.tsx:103 -#: src/pages/sales/ReturnOrderDetail.tsx:71 -#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 #: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" @@ -3520,10 +3521,10 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 #: src/pages/company/SupplierPartDetail.tsx:83 #: src/pages/part/CategoryDetail.tsx:92 -#: src/pages/part/PartDetail.tsx:134 +#: src/pages/part/PartDetail.tsx:135 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 -#: src/pages/sales/ReturnOrderDetail.tsx:91 -#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 #: src/pages/stock/LocationDetail.tsx:99 #: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 @@ -3556,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:322 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:216 -#: src/pages/sales/ReturnOrderDetail.tsx:184 -#: src/pages/sales/SalesOrderDetail.tsx:188 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3574,8 +3575,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:164 #: src/pages/purchasing/PurchaseOrderDetail.tsx:209 -#: src/pages/sales/ReturnOrderDetail.tsx:177 -#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3613,7 +3614,7 @@ msgstr "" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:197 -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:538 msgid "Batch Code" msgstr "" @@ -3657,21 +3658,21 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 #: src/pages/company/ManufacturerPartDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:613 +#: src/pages/part/PartDetail.tsx:618 #: src/pages/purchasing/PurchaseOrderDetail.tsx:278 -#: src/pages/sales/ReturnOrderDetail.tsx:227 -#: src/pages/sales/SalesOrderDetail.tsx:275 -#: src/pages/stock/StockDetail.tsx:325 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 msgid "Attachments" msgstr "" #: src/pages/build/BuildDetail.tsx:307 #: src/pages/company/CompanyDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:625 +#: src/pages/part/PartDetail.tsx:630 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 -#: src/pages/sales/ReturnOrderDetail.tsx:239 -#: src/pages/sales/SalesOrderDetail.tsx:287 -#: src/pages/stock/StockDetail.tsx:337 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -3704,8 +3705,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:386 #: src/pages/purchasing/PurchaseOrderDetail.tsx:333 -#: src/pages/sales/ReturnOrderDetail.tsx:307 -#: src/pages/sales/SalesOrderDetail.tsx:317 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" msgstr "" @@ -3752,10 +3753,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:85 -#: src/pages/sales/SalesOrderDetail.tsx:89 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 @@ -3823,12 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:487 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3864,7 +3865,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 -#: src/pages/stock/StockDetail.tsx:233 +#: src/pages/stock/StockDetail.tsx:234 msgid "Packaging" msgstr "" @@ -3898,7 +3899,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:130 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" @@ -3988,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:147 +#: src/pages/part/PartDetail.tsx:148 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:195 +#: src/pages/part/PartDetail.tsx:196 #: src/pages/purchasing/PurchaseOrderDetail.tsx:182 -#: src/pages/sales/ReturnOrderDetail.tsx:150 -#: src/pages/sales/SalesOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:213 +#: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:226 +#: src/pages/part/PartDetail.tsx:227 #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:243 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:250 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:257 +#: src/pages/part/PartDetail.tsx:258 #: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4084,37 +4085,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:271 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:301 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4123,7 +4124,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4135,69 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:340 +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:130 +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:410 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:507 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:514 -#: src/pages/stock/StockDetail.tsx:283 +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:662 -#: src/pages/stock/StockDetail.tsx:151 -#: src/pages/stock/StockDetail.tsx:529 +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4205,55 +4208,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:668 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:674 +#: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:680 -#: src/pages/stock/StockDetail.tsx:512 +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:711 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:718 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:765 +#: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 #: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:773 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4266,6 +4269,7 @@ msgid "No pricing data found for this part." msgstr "" #: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 msgid "Pricing Overview" msgstr "" @@ -4274,54 +4278,32 @@ msgid "Purchase History" msgstr "" #: src/pages/part/PartPricingPanel.tsx:106 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:109 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:124 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:116 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:131 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:137 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:143 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:144 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 msgid "Sale Pricing" msgstr "" #: src/pages/part/PartPricingPanel.tsx:150 -#: src/pages/part/pricing/PricingOverviewPanel.tsx:151 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" - +#: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/part/PartTable.tsx:186 -msgid "Component" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:164 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 -#: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:151 -#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 -msgid "Unit Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:173 #: src/tables/ColumnRenderers.tsx:241 #: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 @@ -4330,81 +4312,117 @@ msgstr "" msgid "Total Price" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:189 -#: src/pages/part/pricing/VariantPricingPanel.tsx:62 +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 #: src/tables/purchasing/SupplierPartTable.tsx:148 msgid "Updated" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" msgstr "" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:115 +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:76 +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:86 +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:100 -#: src/pages/part/pricing/PriceBreakPanel.tsx:191 +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 msgid "Last Updated" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:214 -#: src/pages/part/pricing/VariantPricingPanel.tsx:46 -#: src/pages/part/pricing/VariantPricingPanel.tsx:119 -msgid "Minimum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:219 -#: src/pages/part/pricing/VariantPricingPanel.tsx:54 -#: src/pages/part/pricing/VariantPricingPanel.tsx:124 -msgid "Maximum Price" +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" msgstr "" #: src/pages/part/pricing/PricingPanel.tsx:25 @@ -4423,33 +4441,33 @@ msgstr "" msgid "Loading pricing data" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:46 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:180 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 -#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 msgid "Purchase Price" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" msgstr "" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:52 -#: src/pages/part/pricing/SaleHistoryPanel.tsx:115 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 msgid "Sale Price" msgstr "" -#: src/pages/part/pricing/SupplierPricingPanel.tsx:88 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" msgstr "" -#: src/pages/part/pricing/VariantPricingPanel.tsx:39 +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 msgid "Variant Part" msgstr "" @@ -4469,23 +4487,23 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:139 #: src/pages/purchasing/PurchaseOrderDetail.tsx:254 -#: src/pages/sales/ReturnOrderDetail.tsx:106 -#: src/pages/sales/ReturnOrderDetail.tsx:222 -#: src/pages/sales/SalesOrderDetail.tsx:110 -#: src/pages/sales/SalesOrderDetail.tsx:250 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 msgid "Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:146 -#: src/pages/sales/ReturnOrderDetail.tsx:113 -#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 msgid "Completed Line Items" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:154 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:125 -#: src/pages/sales/SalesOrderDetail.tsx:260 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" msgstr "" @@ -4496,46 +4514,46 @@ msgstr "" #~ msgstr "Order Currency," #: src/pages/purchasing/PurchaseOrderDetail.tsx:161 -#: src/pages/sales/ReturnOrderDetail.tsx:129 -#: src/pages/sales/SalesOrderDetail.tsx:133 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 msgid "Order Currency" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:136 -#: src/pages/sales/SalesOrderDetail.tsx:140 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Total Cost" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:203 -#: src/pages/sales/ReturnOrderDetail.tsx:171 -#: src/pages/sales/SalesOrderDetail.tsx:175 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 msgid "Created On" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:248 -#: src/pages/sales/ReturnOrderDetail.tsx:216 -#: src/pages/sales/SalesOrderDetail.tsx:244 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 msgid "Order Details" msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:323 -#: src/pages/sales/ReturnOrderDetail.tsx:297 -#: src/pages/sales/SalesOrderDetail.tsx:309 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:77 -#: src/pages/sales/SalesOrderDetail.tsx:81 +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4545,17 +4563,17 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:230 +#: src/pages/sales/SalesOrderDetail.tsx:231 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" msgstr "" @@ -4618,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4634,15 +4652,15 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:177 +#: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:193 +#: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:202 +#: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4655,31 +4673,31 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:267 +#: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:273 +#: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4687,34 +4705,34 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:440 +#: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:455 +#: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:463 +#: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4805,7 +4823,7 @@ msgstr "" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 -#: src/tables/stock/StockItemTestResultTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" msgstr "" @@ -5243,7 +5261,7 @@ msgid "Required Tests" msgstr "" #: src/tables/build/BuildOutputTable.tsx:319 -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" msgstr "" @@ -5735,75 +5753,75 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 +#: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:85 +#: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:90 +#: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:94 +#: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:95 +#: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:99 +#: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:100 +#: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:104 +#: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:105 +#: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:201 +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:155 +#: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:157 +#: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" msgstr "" @@ -6292,7 +6310,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:205 +#: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" msgstr "" @@ -6698,95 +6716,95 @@ msgstr "" msgid "Delete stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:125 +#: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:151 +#: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:162 +#: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:168 +#: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:184 +#: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:200 +#: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:220 +#: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:340 -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 -#: src/tables/stock/StockItemTestResultTable.tsx:350 +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:281 +#: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:287 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:289 +#: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:303 +#: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:304 +#: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:311 +#: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:377 +#: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:381 +#: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:382 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:387 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" msgstr "" From 9962d8557041b93e4bb77a16bdeb48ae5b5f42b3 Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 10 Jun 2024 21:05:40 +1000 Subject: [PATCH 08/59] [plugins] allow static files for plugins (#7425) * Add 'clear' option to 'invoke static' * Add functions for copying static files from installed plugins * Collect plugin static files as part of 'invoke static' * Add 'activate' method for PluginConfig * Run as part of `invoke plugins` --- .../management/commands/collectplugins.py | 13 +++ src/backend/InvenTree/InvenTree/ready.py | 2 +- src/backend/InvenTree/plugin/models.py | 15 +++ src/backend/InvenTree/plugin/serializers.py | 10 +- src/backend/InvenTree/plugin/staticfiles.py | 92 +++++++++++++++++++ tasks.py | 18 +++- 6 files changed, 137 insertions(+), 13 deletions(-) create mode 100644 src/backend/InvenTree/InvenTree/management/commands/collectplugins.py create mode 100644 src/backend/InvenTree/plugin/staticfiles.py diff --git a/src/backend/InvenTree/InvenTree/management/commands/collectplugins.py b/src/backend/InvenTree/InvenTree/management/commands/collectplugins.py new file mode 100644 index 0000000000..77b00f73b5 --- /dev/null +++ b/src/backend/InvenTree/InvenTree/management/commands/collectplugins.py @@ -0,0 +1,13 @@ +"""Management command to collect plugin static files.""" + +from django.core.management import BaseCommand + + +class Command(BaseCommand): + """Collect static files for all installed plugins.""" + + def handle(self, *args, **kwargs): + """Run the management command.""" + from plugin.staticfiles import collect_plugins_static_files + + collect_plugins_static_files() diff --git a/src/backend/InvenTree/InvenTree/ready.py b/src/backend/InvenTree/InvenTree/ready.py index 41b3058fc8..0ae788282c 100644 --- a/src/backend/InvenTree/InvenTree/ready.py +++ b/src/backend/InvenTree/InvenTree/ready.py @@ -125,7 +125,7 @@ def canAppAccessDatabase( excluded_commands.append('test') if not allow_plugins: - excluded_commands.extend(['collectstatic']) + excluded_commands.extend(['collectstatic', 'collectplugins']) for cmd in excluded_commands: if cmd in sys.argv: diff --git a/src/backend/InvenTree/plugin/models.py b/src/backend/InvenTree/plugin/models.py index c6fee27fd3..4989f56af2 100644 --- a/src/backend/InvenTree/plugin/models.py +++ b/src/backend/InvenTree/plugin/models.py @@ -12,6 +12,7 @@ from django.utils.translation import gettext_lazy as _ import common.models import InvenTree.models +import plugin.staticfiles from plugin import InvenTreePlugin, registry @@ -186,6 +187,20 @@ class PluginConfig(InvenTree.models.MetadataMixin, models.Model): return getattr(self.plugin, 'is_package', False) + def activate(self, active: bool) -> None: + """Set the 'active' status of this plugin instance.""" + from InvenTree.tasks import check_for_migrations, offload_task + + if self.active == active: + return + + self.active = active + self.save() + + if active: + offload_task(check_for_migrations) + offload_task(plugin.staticfiles.copy_plugin_static_files, self.key) + class PluginSetting(common.models.BaseInvenTreeSetting): """This model represents settings for individual plugins.""" diff --git a/src/backend/InvenTree/plugin/serializers.py b/src/backend/InvenTree/plugin/serializers.py index aa4deffa1a..30fd5325ee 100644 --- a/src/backend/InvenTree/plugin/serializers.py +++ b/src/backend/InvenTree/plugin/serializers.py @@ -208,15 +208,7 @@ class PluginActivateSerializer(serializers.Serializer): def update(self, instance, validated_data): """Apply the new 'active' value to the plugin instance.""" - from InvenTree.tasks import check_for_migrations, offload_task - - instance.active = validated_data.get('active', True) - instance.save() - - if instance.active: - # A plugin has just been activated - check for database migrations - offload_task(check_for_migrations) - + instance.activate(validated_data.get('active', True)) return instance diff --git a/src/backend/InvenTree/plugin/staticfiles.py b/src/backend/InvenTree/plugin/staticfiles.py new file mode 100644 index 0000000000..e80f4a25f5 --- /dev/null +++ b/src/backend/InvenTree/plugin/staticfiles.py @@ -0,0 +1,92 @@ +"""Static files management for InvenTree plugins.""" + +import logging +from pathlib import Path + +from django.contrib.staticfiles.storage import staticfiles_storage + +from plugin.registry import registry + +logger = logging.getLogger('inventree') + + +def clear_static_dir(path, recursive=True): + """Clear the specified directory from the 'static' output directory. + + Arguments: + path: The path to the directory to clear + recursive: If True, clear the directory recursively + """ + if not staticfiles_storage.exists(path): + return + + dirs, files = staticfiles_storage.listdir(path) + + for f in files: + staticfiles_storage.delete(f'{path}/{f}') + + if recursive: + for d in dirs: + clear_static_dir(f'{path}/{d}', recursive=True) + staticfiles_storage.delete(d) + + +def collect_plugins_static_files(): + """Copy static files from all installed plugins into the static directory.""" + registry.check_reload() + + logger.info('Collecting static files for all installed plugins.') + + for slug in registry.plugins.keys(): + copy_plugin_static_files(slug) + + +def copy_plugin_static_files(slug): + """Copy static files for the specified plugin.""" + registry.check_reload() + + plugin = registry.get_plugin(slug) + + if not plugin: + return + + logger.info("Copying static files for plugin '%s'") + + # Get the source path for the plugin + source_path = plugin.path().joinpath('static') + + if not source_path.is_dir(): + return + + # Create prefix for the destination path + destination_prefix = f'plugins/{slug}/' + + # Clear the destination path + clear_static_dir(destination_prefix) + + items = list(source_path.glob('*')) + + idx = 0 + copied = 0 + + while idx < len(items): + item = items[idx] + + idx += 1 + + if item.is_dir(): + items.extend(item.glob('*')) + continue + + if item.is_file(): + relative_path = item.relative_to(source_path) + + destination_path = f'{destination_prefix}{relative_path}' + + with item.open('rb') as src: + staticfiles_storage.save(destination_path, src) + + logger.debug(f'- copied {item} to {destination_path}') + copied += 1 + + logger.info(f"Copied %s static files for plugin '%s'.", copied, slug) diff --git a/tasks.py b/tasks.py index 3ef8e47300..d585f103f8 100644 --- a/tasks.py +++ b/tasks.py @@ -227,6 +227,9 @@ def plugins(c, uv=False): c.run('pip3 install --no-cache-dir --disable-pip-version-check uv') c.run(f"uv pip install -r '{plugin_file}'") + # Collect plugin static files + manage(c, 'collectplugins') + @task(help={'uv': 'Use UV package manager (experimental)'}) def install(c, uv=False): @@ -317,8 +320,8 @@ def remove_mfa(c, mail=''): manage(c, f'remove_mfa {mail}') -@task(help={'frontend': 'Build the frontend'}) -def static(c, frontend=False): +@task(help={'frontend': 'Build the frontend', 'clear': 'Remove existing static files'}) +def static(c, frontend=False, clear=True): """Copies required static files to the STATIC_ROOT directory, as per Django requirements.""" manage(c, 'prerender') @@ -327,7 +330,16 @@ def static(c, frontend=False): frontend_build(c) print('Collecting static files...') - manage(c, 'collectstatic --no-input --clear --verbosity 0') + + cmd = 'collectstatic --no-input --verbosity 0' + + if clear: + cmd += ' --clear' + + manage(c, cmd) + + # Collect plugin static files + manage(c, 'collectplugins') @task From c834759f07df72391eda20c46cd9e7c702054c5a Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 11 Jun 2024 12:03:46 +1000 Subject: [PATCH 09/59] Adds support for Romanian locale tranaslations (#7428) --- src/backend/InvenTree/InvenTree/locales.py | 1 + .../InvenTree/locale/ro/LC_MESSAGES/django.po | 14393 ++++++++++++++++ src/frontend/.linguirc | 1 + src/frontend/src/contexts/LanguageContext.tsx | 1 + 4 files changed, 14396 insertions(+) create mode 100644 src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po diff --git a/src/backend/InvenTree/InvenTree/locales.py b/src/backend/InvenTree/InvenTree/locales.py index 6234970ec4..900ffa6343 100644 --- a/src/backend/InvenTree/InvenTree/locales.py +++ b/src/backend/InvenTree/InvenTree/locales.py @@ -38,6 +38,7 @@ LOCALES = [ ('pl', _('Polish')), ('pt', _('Portuguese')), ('pt-br', _('Portuguese (Brazilian)')), + ('ro', _('Romanian')), ('ru', _('Russian')), ('sk', _('Slovak')), ('sl', _('Slovenian')), diff --git a/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po new file mode 100644 index 0000000000..1910d31374 --- /dev/null +++ b/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po @@ -0,0 +1,14393 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-06-11 01:26+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" +#: InvenTree/api.py:272 +msgid "API endpoint not found" +msgstr "" + +#: InvenTree/api.py:536 +msgid "User does not have permission to view this model" +msgstr "" + +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:177 +msgid "No value provided" +msgstr "" + +#: InvenTree/conversion.py:204 +#, python-brace-format +msgid "Could not convert {original} to {unit}" +msgstr "" + +#: InvenTree/conversion.py:206 +msgid "Invalid quantity supplied" +msgstr "" + +#: InvenTree/conversion.py:220 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:109 +msgid "Error details can be found in the admin panel" +msgstr "" + +#: InvenTree/fields.py:139 +msgid "Enter date" +msgstr "" + +#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: build/serializers.py:531 build/templates/build/sidebar.html:21 +#: company/models.py:849 company/templates/company/sidebar.html:37 +#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/templates/order/return_order_sidebar.html:9 +#: order/templates/order/so_sidebar.html:17 part/admin.py:59 +#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 +#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 +#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335 +#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 +#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1081 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 +msgid "Notes" +msgstr "" + +#: InvenTree/format.py:164 +#, python-brace-format +msgid "Value '{name}' does not appear in pattern format" +msgstr "" + +#: InvenTree/format.py:175 +msgid "Provided value does not match required pattern: " +msgstr "" + +#: InvenTree/forms.py:128 +msgid "Enter password" +msgstr "" + +#: InvenTree/forms.py:129 +msgid "Enter new password" +msgstr "" + +#: InvenTree/forms.py:138 +msgid "Confirm password" +msgstr "" + +#: InvenTree/forms.py:139 +msgid "Confirm new password" +msgstr "" + +#: InvenTree/forms.py:143 +msgid "Old password" +msgstr "" + +#: InvenTree/forms.py:182 +msgid "Email (again)" +msgstr "" + +#: InvenTree/forms.py:186 +msgid "Email address confirmation" +msgstr "" + +#: InvenTree/forms.py:209 +msgid "You must type the same email each time." +msgstr "" + +#: InvenTree/forms.py:253 InvenTree/forms.py:261 +msgid "The provided primary email address is not valid." +msgstr "" + +#: InvenTree/forms.py:268 +msgid "The provided email domain is not approved." +msgstr "" + +#: InvenTree/forms.py:395 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +msgid "Invalid quantity provided" +msgstr "" + +#: InvenTree/helpers.py:533 +msgid "Empty serial number string" +msgstr "" + +#: InvenTree/helpers.py:562 +msgid "Duplicate serial" +msgstr "" + +#: InvenTree/helpers.py:594 InvenTree/helpers.py:637 +#, python-brace-format +msgid "Invalid group range: {group}" +msgstr "" + +#: InvenTree/helpers.py:625 +#, python-brace-format +msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" +msgstr "" + +#: InvenTree/helpers.py:655 InvenTree/helpers.py:662 InvenTree/helpers.py:681 +#, python-brace-format +msgid "Invalid group sequence: {group}" +msgstr "" + +#: InvenTree/helpers.py:691 +msgid "No serial numbers found" +msgstr "" + +#: InvenTree/helpers.py:696 +msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" +msgstr "" + +#: InvenTree/helpers.py:814 +msgid "Remove HTML tags from this value" +msgstr "" + +#: InvenTree/helpers_model.py:150 +msgid "Connection error" +msgstr "" + +#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +msgid "Server responded with invalid status code" +msgstr "" + +#: InvenTree/helpers_model.py:158 +msgid "Exception occurred" +msgstr "" + +#: InvenTree/helpers_model.py:168 +msgid "Server responded with invalid Content-Length value" +msgstr "" + +#: InvenTree/helpers_model.py:171 +msgid "Image size is too large" +msgstr "" + +#: InvenTree/helpers_model.py:183 +msgid "Image download exceeded maximum size" +msgstr "" + +#: InvenTree/helpers_model.py:188 +msgid "Remote server returned empty response" +msgstr "" + +#: InvenTree/helpers_model.py:196 +msgid "Supplied URL is not a valid image file" +msgstr "" + +#: InvenTree/locales.py:18 +msgid "Bulgarian" +msgstr "" + +#: InvenTree/locales.py:19 +msgid "Czech" +msgstr "" + +#: InvenTree/locales.py:20 +msgid "Danish" +msgstr "" + +#: InvenTree/locales.py:21 +msgid "German" +msgstr "" + +#: InvenTree/locales.py:22 +msgid "Greek" +msgstr "" + +#: InvenTree/locales.py:23 +msgid "English" +msgstr "" + +#: InvenTree/locales.py:24 +msgid "Spanish" +msgstr "" + +#: InvenTree/locales.py:25 +msgid "Spanish (Mexican)" +msgstr "" + +#: InvenTree/locales.py:26 +msgid "Farsi / Persian" +msgstr "" + +#: InvenTree/locales.py:27 +msgid "Finnish" +msgstr "" + +#: InvenTree/locales.py:28 +msgid "French" +msgstr "" + +#: InvenTree/locales.py:29 +msgid "Hebrew" +msgstr "" + +#: InvenTree/locales.py:30 +msgid "Hindi" +msgstr "" + +#: InvenTree/locales.py:31 +msgid "Hungarian" +msgstr "" + +#: InvenTree/locales.py:32 +msgid "Italian" +msgstr "" + +#: InvenTree/locales.py:33 +msgid "Japanese" +msgstr "" + +#: InvenTree/locales.py:34 +msgid "Korean" +msgstr "" + +#: InvenTree/locales.py:35 +msgid "Latvian" +msgstr "" + +#: InvenTree/locales.py:36 +msgid "Dutch" +msgstr "" + +#: InvenTree/locales.py:37 +msgid "Norwegian" +msgstr "" + +#: InvenTree/locales.py:38 +msgid "Polish" +msgstr "" + +#: InvenTree/locales.py:39 +msgid "Portuguese" +msgstr "" + +#: InvenTree/locales.py:40 +msgid "Portuguese (Brazilian)" +msgstr "" + +#: InvenTree/locales.py:41 +msgid "Romanian" +msgstr "" + +#: InvenTree/locales.py:42 +msgid "Russian" +msgstr "" + +#: InvenTree/locales.py:43 +msgid "Slovak" +msgstr "" + +#: InvenTree/locales.py:44 +msgid "Slovenian" +msgstr "" + +#: InvenTree/locales.py:45 +msgid "Serbian" +msgstr "" + +#: InvenTree/locales.py:46 +msgid "Swedish" +msgstr "" + +#: InvenTree/locales.py:47 +msgid "Thai" +msgstr "" + +#: InvenTree/locales.py:48 +msgid "Turkish" +msgstr "" + +#: InvenTree/locales.py:49 +msgid "Ukrainian" +msgstr "" + +#: InvenTree/locales.py:50 +msgid "Vietnamese" +msgstr "" + +#: InvenTree/locales.py:51 +msgid "Chinese (Simplified)" +msgstr "" + +#: InvenTree/locales.py:52 +msgid "Chinese (Traditional)" +msgstr "" + +#: InvenTree/magic_login.py:28 +#, python-brace-format +msgid "[{site_name}] Log in to the app" +msgstr "" + +#: InvenTree/magic_login.py:38 company/models.py:133 +#: company/templates/company/company_base.html:138 +#: templates/InvenTree/settings/user.html:49 +#: templates/js/translated/company.js:677 +msgid "Email" +msgstr "" + +#: InvenTree/models.py:107 +msgid "Error running plugin validation" +msgstr "" + +#: InvenTree/models.py:176 +msgid "Metadata must be a python dict object" +msgstr "" + +#: InvenTree/models.py:182 +msgid "Plugin Metadata" +msgstr "" + +#: InvenTree/models.py:183 +msgid "JSON metadata field, for use by external plugins" +msgstr "" + +#: InvenTree/models.py:413 +msgid "Improperly formatted pattern" +msgstr "" + +#: InvenTree/models.py:420 +msgid "Unknown format key specified" +msgstr "" + +#: InvenTree/models.py:426 +msgid "Missing required format key" +msgstr "" + +#: InvenTree/models.py:437 +msgid "Reference field cannot be empty" +msgstr "" + +#: InvenTree/models.py:445 +msgid "Reference must match required pattern" +msgstr "" + +#: InvenTree/models.py:476 +msgid "Reference number is too large" +msgstr "" + +#: InvenTree/models.py:550 +msgid "Missing file" +msgstr "" + +#: InvenTree/models.py:551 +msgid "Missing external link" +msgstr "" + +#: InvenTree/models.py:572 stock/models.py:2442 +#: templates/js/translated/attachment.js:119 +#: templates/js/translated/attachment.js:326 +msgid "Attachment" +msgstr "" + +#: InvenTree/models.py:573 +msgid "Select file to attach" +msgstr "" + +#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 +#: company/models.py:457 company/models.py:514 company/models.py:831 +#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: part/admin.py:55 part/models.py:963 +#: part/templates/part/part_scheduling.html:11 +#: report/templates/report/inventree_build_order_report.html:164 +#: stock/admin.py:230 templates/js/translated/company.js:1319 +#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2456 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 +msgid "Link" +msgstr "" + +#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 +#: stock/models.py:836 +msgid "Link to external URL" +msgstr "" + +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 +#: templates/js/translated/attachment.js:341 +msgid "Comment" +msgstr "" + +#: InvenTree/models.py:589 +msgid "File comment" +msgstr "" + +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 +#: common/models.py:2487 common/models.py:2635 common/models.py:2636 +#: common/models.py:2881 common/models.py:2882 part/models.py:3219 +#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: plugin/models.py:274 plugin/models.py:275 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 +msgid "User" +msgstr "" + +#: InvenTree/models.py:602 +msgid "upload date" +msgstr "" + +#: InvenTree/models.py:624 +msgid "Filename must not be empty" +msgstr "" + +#: InvenTree/models.py:635 +msgid "Invalid attachment directory" +msgstr "" + +#: InvenTree/models.py:665 +#, python-brace-format +msgid "Filename contains illegal character '{c}'" +msgstr "" + +#: InvenTree/models.py:668 +msgid "Filename missing extension" +msgstr "" + +#: InvenTree/models.py:677 +msgid "Attachment with this filename already exists" +msgstr "" + +#: InvenTree/models.py:684 +msgid "Error renaming file" +msgstr "" + +#: InvenTree/models.py:860 +msgid "Duplicate names cannot exist under the same parent" +msgstr "" + +#: InvenTree/models.py:877 +msgid "Invalid choice" +msgstr "" + +#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 +#: report/models.py:149 stock/models.py:72 +#: templates/InvenTree/settings/mixins/urls.html:13 +#: templates/InvenTree/settings/notifications.html:17 +#: templates/InvenTree/settings/plugin.html:83 +#: templates/InvenTree/settings/plugin_settings.html:22 +#: templates/InvenTree/settings/settings_staff_js.html:67 +#: templates/InvenTree/settings/settings_staff_js.html:446 +#: templates/js/translated/company.js:676 +#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:913 +#: templates/js/translated/company.js:1165 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +msgid "Name" +msgstr "" + +#: InvenTree/models.py:913 build/models.py:218 +#: build/templates/build/detail.html:24 common/models.py:134 +#: company/models.py:523 company/models.py:840 +#: company/templates/company/company_base.html:77 +#: company/templates/company/manufacturer_part.html:75 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 +#: part/models.py:3700 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:170 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:509 report/models.py:535 +#: report/templates/report/inventree_build_order_report.html:117 +#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: templates/InvenTree/settings/notifications.html:19 +#: templates/InvenTree/settings/plugin_settings.html:27 +#: templates/InvenTree/settings/settings_staff_js.html:170 +#: templates/InvenTree/settings/settings_staff_js.html:451 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 +#: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 +#: templates/js/translated/company.js:1330 +#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 +#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 +#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/plugin.js:80 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 +msgid "Description" +msgstr "" + +#: InvenTree/models.py:914 stock/models.py:79 +msgid "Description (optional)" +msgstr "" + +#: InvenTree/models.py:923 +msgid "parent" +msgstr "" + +#: InvenTree/models.py:929 templates/js/translated/part.js:2794 +#: templates/js/translated/stock.js:2757 +msgid "Path" +msgstr "" + +#: InvenTree/models.py:1059 +msgid "Markdown notes (optional)" +msgstr "" + +#: InvenTree/models.py:1088 +msgid "Barcode Data" +msgstr "" + +#: InvenTree/models.py:1089 +msgid "Third party barcode data" +msgstr "" + +#: InvenTree/models.py:1095 +msgid "Barcode Hash" +msgstr "" + +#: InvenTree/models.py:1096 +msgid "Unique hash of barcode data" +msgstr "" + +#: InvenTree/models.py:1149 +msgid "Existing barcode found" +msgstr "" + +#: InvenTree/models.py:1192 +msgid "Server Error" +msgstr "" + +#: InvenTree/models.py:1193 +msgid "An error has been logged by the server." +msgstr "" + +#: InvenTree/serializers.py:63 part/models.py:4238 +msgid "Must be a valid number" +msgstr "" + +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3027 +#: templates/InvenTree/settings/settings_staff_js.html:44 +#: templates/currency_data.html:5 +msgid "Currency" +msgstr "" + +#: InvenTree/serializers.py:103 +msgid "Select currency from available options" +msgstr "" + +#: InvenTree/serializers.py:442 +msgid "You do not have permission to change this user role." +msgstr "" + +#: InvenTree/serializers.py:454 +msgid "Only superusers can create new users" +msgstr "" + +#: InvenTree/serializers.py:473 +msgid "Your account has been created." +msgstr "" + +#: InvenTree/serializers.py:475 +msgid "Please use the password reset function to login" +msgstr "" + +#: InvenTree/serializers.py:482 +msgid "Welcome to InvenTree" +msgstr "" + +#: InvenTree/serializers.py:543 +msgid "Filename" +msgstr "" + +#: InvenTree/serializers.py:577 +msgid "Invalid value" +msgstr "" + +#: InvenTree/serializers.py:597 +msgid "Data File" +msgstr "" + +#: InvenTree/serializers.py:598 +msgid "Select data file for upload" +msgstr "" + +#: InvenTree/serializers.py:615 +msgid "Unsupported file type" +msgstr "" + +#: InvenTree/serializers.py:621 +msgid "File is too large" +msgstr "" + +#: InvenTree/serializers.py:642 +msgid "No columns found in file" +msgstr "" + +#: InvenTree/serializers.py:645 +msgid "No data rows found in file" +msgstr "" + +#: InvenTree/serializers.py:758 +msgid "No data rows provided" +msgstr "" + +#: InvenTree/serializers.py:761 +msgid "No data columns supplied" +msgstr "" + +#: InvenTree/serializers.py:828 +#, python-brace-format +msgid "Missing required column: '{name}'" +msgstr "" + +#: InvenTree/serializers.py:837 +#, python-brace-format +msgid "Duplicate column: '{col}'" +msgstr "" + +#: InvenTree/serializers.py:877 +msgid "Remote Image" +msgstr "" + +#: InvenTree/serializers.py:878 +msgid "URL of remote image file" +msgstr "" + +#: InvenTree/serializers.py:896 +msgid "Downloading images from remote URL is not enabled" +msgstr "" + +#: InvenTree/status.py:66 part/serializers.py:1181 +msgid "Background worker check failed" +msgstr "" + +#: InvenTree/status.py:70 +msgid "Email backend not configured" +msgstr "" + +#: InvenTree/status.py:73 +msgid "InvenTree system health checks failed" +msgstr "" + +#: InvenTree/templatetags/inventree_extras.py:183 +msgid "Unknown database" +msgstr "" + +#: InvenTree/validators.py:31 InvenTree/validators.py:33 +msgid "Invalid physical unit" +msgstr "" + +#: InvenTree/validators.py:39 +msgid "Not a valid currency code" +msgstr "" + +#: InvenTree/validators.py:121 InvenTree/validators.py:137 +msgid "Overage value must not be negative" +msgstr "" + +#: InvenTree/validators.py:139 +msgid "Overage must not exceed 100%" +msgstr "" + +#: InvenTree/validators.py:145 +msgid "Invalid value for overage" +msgstr "" + +#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +msgid "Edit User Information" +msgstr "" + +#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +msgid "Set Password" +msgstr "" + +#: InvenTree/views.py:434 +msgid "Password fields must match" +msgstr "" + +#: InvenTree/views.py:442 +msgid "Wrong password provided" +msgstr "" + +#: InvenTree/views.py:650 templates/navbar.html:160 +msgid "System Information" +msgstr "" + +#: InvenTree/views.py:657 templates/navbar.html:171 +msgid "About InvenTree" +msgstr "" + +#: build/api.py:255 +msgid "Build must be cancelled before it can be deleted" +msgstr "" + +#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:583 +msgid "Consumable" +msgstr "" + +#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 +#: templates/js/translated/build.js:2529 +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:587 +msgid "Optional" +msgstr "" + +#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:579 +msgid "Tracked" +msgstr "" + +#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2629 +#: templates/js/translated/sales_order.js:1965 +#: templates/js/translated/table_filters.js:571 +msgid "Allocated" +msgstr "" + +#: build/api.py:311 company/models.py:904 company/serializers.py:384 +#: company/templates/company/supplier_part.html:114 +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:17 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/index.js:123 +#: templates/js/translated/model_renderers.js:234 +#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 +#: templates/js/translated/part.js:700 +#: templates/js/translated/table_filters.js:340 +#: templates/js/translated/table_filters.js:575 +msgid "Available" +msgstr "" + +#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/templates/build/build_base.html:27 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 +#: templates/email/overdue_build_order.html:15 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 +msgid "Build Order" +msgstr "" + +#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/templates/build/index.html:8 build/templates/build/index.html:12 +#: order/templates/order/sales_order_detail.html:111 +#: order/templates/order/so_sidebar.html:13 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 +#: templates/InvenTree/search.html:141 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:186 users/models.py:207 +msgid "Build Orders" +msgstr "" + +#: build/models.py:131 +msgid "Invalid choice for parent build" +msgstr "" + +#: build/models.py:142 order/models.py:240 +msgid "Responsible user or group must be specified" +msgstr "" + +#: build/models.py:148 +msgid "Build order part cannot be changed" +msgstr "" + +#: build/models.py:209 +msgid "Build Order Reference" +msgstr "" + +#: build/models.py:210 order/models.py:463 order/models.py:928 +#: order/models.py:1325 order/models.py:2056 part/admin.py:419 +#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: report/templates/report/inventree_bill_of_materials_report.html:139 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 +#: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 +#: templates/js/translated/pricing.js:386 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 +msgid "Reference" +msgstr "" + +#: build/models.py:221 +msgid "Brief description of the build (optional)" +msgstr "" + +#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/templates/build/detail.html:87 +msgid "Parent Build" +msgstr "" + +#: build/models.py:230 +msgid "BuildOrder to which this build is allocated" +msgstr "" + +#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 +#: order/models.py:1450 order/models.py:1595 order/models.py:1596 +#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 +#: part/models.py:3182 part/models.py:3326 part/models.py:3349 +#: part/models.py:3370 part/models.py:3392 part/models.py:3523 +#: part/models.py:3833 part/models.py:3989 part/models.py:4082 +#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: part/templates/part/part_app_base.html:8 +#: part/templates/part/part_pricing.html:12 +#: part/templates/part/upload_bom.html:52 +#: 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 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:821 templates/InvenTree/search.html:82 +#: templates/email/build_order_completed.html:17 +#: templates/email/build_order_required_stock.html:17 +#: templates/email/low_stock_notification.html:15 +#: templates/email/overdue_build_order.html:16 +#: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1312 templates/js/translated/build.js:1743 +#: templates/js/translated/build.js:2162 templates/js/translated/build.js:2335 +#: templates/js/translated/company.js:348 +#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1271 +#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 +#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 +#: templates/js/translated/sales_order.js:300 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 +#: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 +msgid "Part" +msgstr "" + +#: build/models.py:243 +msgid "Select part to build" +msgstr "" + +#: build/models.py:248 +msgid "Sales Order Reference" +msgstr "" + +#: build/models.py:252 +msgid "SalesOrder to which this build is allocated" +msgstr "" + +#: build/models.py:257 build/serializers.py:1000 +#: templates/js/translated/build.js:1731 +#: templates/js/translated/sales_order.js:1221 +msgid "Source Location" +msgstr "" + +#: build/models.py:261 +msgid "Select location to take stock from for this build (leave blank to take from any stock location)" +msgstr "" + +#: build/models.py:266 +msgid "Destination Location" +msgstr "" + +#: build/models.py:270 +msgid "Select location where the completed items will be stored" +msgstr "" + +#: build/models.py:274 +msgid "Build Quantity" +msgstr "" + +#: build/models.py:277 +msgid "Number of stock items to build" +msgstr "" + +#: build/models.py:281 +msgid "Completed items" +msgstr "" + +#: build/models.py:283 +msgid "Number of stock items which have been completed" +msgstr "" + +#: build/models.py:287 +msgid "Build Status" +msgstr "" + +#: build/models.py:291 +msgid "Build status code" +msgstr "" + +#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: templates/js/translated/purchase_order.js:1129 +msgid "Batch Code" +msgstr "" + +#: build/models.py:304 build/serializers.py:288 +msgid "Batch code for this build output" +msgstr "" + +#: build/models.py:307 order/models.py:316 order/serializers.py:121 +#: part/models.py:1123 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 +msgid "Creation Date" +msgstr "" + +#: build/models.py:311 +msgid "Target completion date" +msgstr "" + +#: build/models.py:312 +msgid "Target date for build completion. Build will be overdue after this date." +msgstr "" + +#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: templates/js/translated/build.js:2247 +msgid "Completion Date" +msgstr "" + +#: build/models.py:321 +msgid "completed by" +msgstr "" + +#: build/models.py:329 templates/js/translated/build.js:2207 +msgid "Issued by" +msgstr "" + +#: build/models.py:330 +msgid "User who issued this build order" +msgstr "" + +#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:143 +#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:188 +#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: part/templates/part/part_base.html:390 +#: report/templates/report/inventree_build_order_report.html:158 +#: templates/InvenTree/settings/settings_staff_js.html:150 +#: templates/js/translated/build.js:2219 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 +#: templates/js/translated/table_filters.js:531 +msgid "Responsible" +msgstr "" + +#: build/models.py:339 +msgid "User or group responsible for this build order" +msgstr "" + +#: build/models.py:344 build/templates/build/detail.html:108 +#: company/templates/company/manufacturer_part.html:107 +#: company/templates/company/supplier_part.html:194 +#: order/templates/order/order_base.html:167 +#: order/templates/order/return_order_base.html:145 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:836 +#: stock/templates/stock/item_base.html:200 +#: templates/js/translated/company.js:1019 +msgid "External Link" +msgstr "" + +#: build/models.py:349 +msgid "Build Priority" +msgstr "" + +#: build/models.py:352 +msgid "Priority of this build order" +msgstr "" + +#: build/models.py:359 common/models.py:127 order/admin.py:18 +#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2144 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 +#: templates/js/translated/table_filters.js:48 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "" + +#: build/models.py:360 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:593 build/models.py:658 +msgid "Failed to offload task to complete build allocations" +msgstr "" + +#: build/models.py:615 +#, python-brace-format +msgid "Build order {build} has been completed" +msgstr "" + +#: build/models.py:621 +msgid "A build order has been completed" +msgstr "" + +#: build/models.py:847 build/models.py:932 +msgid "No build output specified" +msgstr "" + +#: build/models.py:850 +msgid "Build output is already completed" +msgstr "" + +#: build/models.py:853 +msgid "Build output does not match Build Order" +msgstr "" + +#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 +#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +msgid "Quantity must be greater than zero" +msgstr "" + +#: build/models.py:941 build/serializers.py:225 +msgid "Quantity cannot be greater than the output quantity" +msgstr "" + +#: build/models.py:1001 build/serializers.py:548 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1352 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1377 +msgid "Build object" +msgstr "" + +#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/serializers.py:254 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2508 +#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/templates/part/part_pricing.html:16 +#: part/templates/part/upload_bom.html:53 +#: report/templates/report/inventree_bill_of_materials_report.html:138 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595 +#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:342 +#: templates/email/build_order_completed.html:18 +#: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 +#: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 +#: templates/js/translated/company.js:1818 +#: templates/js/translated/model_renderers.js:236 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 +#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/pricing.js:381 +#: templates/js/translated/pricing.js:474 +#: templates/js/translated/pricing.js:522 +#: templates/js/translated/pricing.js:616 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 +#: templates/js/translated/sales_order.js:317 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 +#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 +msgid "Quantity" +msgstr "" + +#: build/models.py:1392 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1472 +msgid "Build item must specify a build output, as master part is marked as trackable" +msgstr "" + +#: build/models.py:1481 +#, python-brace-format +msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +msgstr "" + +#: build/models.py:1491 order/models.py:1918 +msgid "Stock item is over-allocated" +msgstr "" + +#: build/models.py:1497 order/models.py:1921 +msgid "Allocation quantity must be greater than zero" +msgstr "" + +#: build/models.py:1503 +msgid "Quantity must be 1 for serialized stock" +msgstr "" + +#: build/models.py:1562 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 +#: stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:194 +#: templates/js/translated/build.js:1745 +#: templates/js/translated/sales_order.js:301 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 +#: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 +#: templates/js/translated/stock.js:2977 +msgid "Stock Item" +msgstr "" + +#: build/models.py:1635 +msgid "Source stock item" +msgstr "" + +#: build/models.py:1648 +msgid "Stock quantity to allocate to build" +msgstr "" + +#: build/models.py:1656 +msgid "Install into" +msgstr "" + +#: build/models.py:1657 +msgid "Destination stock item" +msgstr "" + +#: build/serializers.py:157 build/serializers.py:876 +#: templates/js/translated/build.js:1322 +msgid "Build Output" +msgstr "" + +#: build/serializers.py:169 +msgid "Build output does not match the parent build" +msgstr "" + +#: build/serializers.py:173 +msgid "Output part does not match BuildOrder part" +msgstr "" + +#: build/serializers.py:177 +msgid "This build output has already been completed" +msgstr "" + +#: build/serializers.py:188 +msgid "This build output is not fully allocated" +msgstr "" + +#: build/serializers.py:208 build/serializers.py:255 +msgid "Enter quantity for build output" +msgstr "" + +#: build/serializers.py:276 +msgid "Integer quantity required for trackable parts" +msgstr "" + +#: build/serializers.py:279 +msgid "Integer quantity required, as the bill of materials contains trackable parts" +msgstr "" + +#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344 +#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153 +#: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 +msgid "Serial Numbers" +msgstr "" + +#: build/serializers.py:295 +msgid "Enter serial numbers for build outputs" +msgstr "" + +#: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513 +#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680 +#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626 +#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328 +#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394 +#: templates/js/translated/barcode.js:547 +#: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 +#: templates/js/translated/build.js:2372 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 +#: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 +msgid "Location" +msgstr "" + +#: build/serializers.py:301 +msgid "Stock location for build output" +msgstr "" + +#: build/serializers.py:315 +msgid "Auto Allocate Serial Numbers" +msgstr "" + +#: build/serializers.py:316 +msgid "Automatically allocate required items with matching serial numbers" +msgstr "" + +#: build/serializers.py:331 +msgid "Serial numbers must be provided for trackable parts" +msgstr "" + +#: build/serializers.py:356 stock/api.py:1031 +msgid "The following serial numbers already exist or are invalid" +msgstr "" + +#: build/serializers.py:403 build/serializers.py:465 build/serializers.py:554 +msgid "A list of build outputs must be provided" +msgstr "" + +#: build/serializers.py:442 +msgid "Stock location for scrapped outputs" +msgstr "" + +#: build/serializers.py:448 +msgid "Discard Allocations" +msgstr "" + +#: build/serializers.py:449 +msgid "Discard any stock allocations for scrapped outputs" +msgstr "" + +#: build/serializers.py:454 +msgid "Reason for scrapping build output(s)" +msgstr "" + +#: build/serializers.py:514 +msgid "Location for completed build outputs" +msgstr "" + +#: build/serializers.py:520 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:952 +#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: stock/serializers.py:933 stock/serializers.py:1472 +#: stock/templates/stock/item_base.html:427 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 +msgid "Status" +msgstr "" + +#: build/serializers.py:526 +msgid "Accept Incomplete Allocation" +msgstr "" + +#: build/serializers.py:527 +msgid "Complete outputs if stock has not been fully allocated" +msgstr "" + +#: build/serializers.py:612 +msgid "Consume Allocated Stock" +msgstr "" + +#: build/serializers.py:613 +msgid "Consume any stock which has already been allocated to this build" +msgstr "" + +#: build/serializers.py:619 +msgid "Remove Incomplete Outputs" +msgstr "" + +#: build/serializers.py:620 +msgid "Delete any build outputs which have not been completed" +msgstr "" + +#: build/serializers.py:647 +msgid "Not permitted" +msgstr "" + +#: build/serializers.py:648 +msgid "Accept as consumed by this build order" +msgstr "" + +#: build/serializers.py:649 +msgid "Deallocate before completing this build order" +msgstr "" + +#: build/serializers.py:679 +msgid "Overallocated Stock" +msgstr "" + +#: build/serializers.py:681 +msgid "How do you want to handle extra stock items assigned to the build order" +msgstr "" + +#: build/serializers.py:691 +msgid "Some stock items have been overallocated" +msgstr "" + +#: build/serializers.py:696 +msgid "Accept Unallocated" +msgstr "" + +#: build/serializers.py:697 +msgid "Accept that stock items have not been fully allocated to this build order" +msgstr "" + +#: build/serializers.py:707 templates/js/translated/build.js:315 +msgid "Required stock has not been fully allocated" +msgstr "" + +#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247 +msgid "Accept Incomplete" +msgstr "" + +#: build/serializers.py:713 +msgid "Accept that the required number of build outputs have not been completed" +msgstr "" + +#: build/serializers.py:723 templates/js/translated/build.js:319 +msgid "Required build quantity has not been completed" +msgstr "" + +#: build/serializers.py:732 templates/js/translated/build.js:303 +msgid "Build order has incomplete outputs" +msgstr "" + +#: build/serializers.py:770 +msgid "Build Line" +msgstr "" + +#: build/serializers.py:780 +msgid "Build output" +msgstr "" + +#: build/serializers.py:788 +msgid "Build output must point to the same build" +msgstr "" + +#: build/serializers.py:824 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:838 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:853 stock/serializers.py:1197 +msgid "Item must be in stock" +msgstr "" + +#: build/serializers.py:901 order/serializers.py:1238 +#, python-brace-format +msgid "Available quantity ({q}) exceeded" +msgstr "" + +#: build/serializers.py:907 +msgid "Build output must be specified for allocation of tracked parts" +msgstr "" + +#: build/serializers.py:914 +msgid "Build output cannot be specified for allocation of untracked parts" +msgstr "" + +#: build/serializers.py:938 order/serializers.py:1490 +msgid "Allocation items must be provided" +msgstr "" + +#: build/serializers.py:1001 +msgid "Stock location where parts are to be sourced (leave blank to take from any location)" +msgstr "" + +#: build/serializers.py:1009 +msgid "Exclude Location" +msgstr "" + +#: build/serializers.py:1010 +msgid "Exclude stock items from this selected location" +msgstr "" + +#: build/serializers.py:1015 +msgid "Interchangeable Stock" +msgstr "" + +#: build/serializers.py:1016 +msgid "Stock items in multiple locations can be used interchangeably" +msgstr "" + +#: build/serializers.py:1021 +msgid "Substitute Stock" +msgstr "" + +#: build/serializers.py:1022 +msgid "Allow allocation of substitute parts" +msgstr "" + +#: build/serializers.py:1027 +msgid "Optional Items" +msgstr "" + +#: build/serializers.py:1028 +msgid "Allocate optional BOM items to build order" +msgstr "" + +#: build/serializers.py:1050 +msgid "Failed to start auto-allocation task" +msgstr "" + +#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: stock/api.py:794 +msgid "BOM Item" +msgstr "" + +#: build/serializers.py:1149 templates/js/translated/index.js:130 +msgid "Allocated Stock" +msgstr "" + +#: build/serializers.py:1154 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:835 part/serializers.py:1509 +#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 +#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 +#: templates/js/translated/part.js:2149 +#: templates/js/translated/table_filters.js:170 +msgid "On Order" +msgstr "" + +#: build/serializers.py:1159 part/serializers.py:1511 +#: templates/js/translated/build.js:2617 +#: templates/js/translated/table_filters.js:360 +msgid "In Production" +msgstr "" + +#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534 +#: part/templates/part/part_base.html:192 +#: templates/js/translated/sales_order.js:1929 +msgid "Available Stock" +msgstr "" + +#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 +#: templates/js/translated/table_filters.js:598 +msgid "Pending" +msgstr "" + +#: build/status_codes.py:12 +msgid "Production" +msgstr "" + +#: build/status_codes.py:13 order/status_codes.py:15 order/status_codes.py:45 +#: order/status_codes.py:70 +msgid "Cancelled" +msgstr "" + +#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: order/status_codes.py:44 order/status_codes.py:69 +#: order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:443 +msgid "Complete" +msgstr "" + +#: build/tasks.py:184 +msgid "Stock required for build order" +msgstr "" + +#: build/tasks.py:201 +msgid "Overdue Build Order" +msgstr "" + +#: build/tasks.py:206 +#, python-brace-format +msgid "Build order {bo} is now overdue" +msgstr "" + +#: build/templates/build/build_base.html:18 +msgid "Part thumbnail" +msgstr "" + +#: build/templates/build/build_base.html:38 +#: company/templates/company/supplier_part.html:35 +#: order/templates/order/order_base.html:29 +#: order/templates/order/return_order_base.html:38 +#: order/templates/order/sales_order_base.html:38 +#: part/templates/part/part_base.html:41 +#: stock/templates/stock/item_base.html:40 +#: stock/templates/stock/location.html:55 +#: templates/js/translated/filters.js:335 +msgid "Barcode actions" +msgstr "" + +#: build/templates/build/build_base.html:42 +#: company/templates/company/supplier_part.html:39 +#: order/templates/order/order_base.html:33 +#: order/templates/order/return_order_base.html:42 +#: order/templates/order/sales_order_base.html:42 +#: part/templates/part/part_base.html:44 +#: stock/templates/stock/item_base.html:44 +#: stock/templates/stock/location.html:57 templates/qr_button.html:1 +msgid "Show QR Code" +msgstr "" + +#: build/templates/build/build_base.html:45 +#: company/templates/company/supplier_part.html:41 +#: order/templates/order/order_base.html:36 +#: order/templates/order/return_order_base.html:45 +#: order/templates/order/sales_order_base.html:45 +#: part/templates/part/part_base.html:47 +#: stock/templates/stock/item_base.html:47 +#: stock/templates/stock/location.html:59 +#: templates/js/translated/barcode.js:496 +#: templates/js/translated/barcode.js:501 +msgid "Unlink Barcode" +msgstr "" + +#: build/templates/build/build_base.html:47 +#: company/templates/company/supplier_part.html:43 +#: order/templates/order/order_base.html:38 +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +#: part/templates/part/part_base.html:49 +#: stock/templates/stock/item_base.html:49 +#: stock/templates/stock/location.html:61 +msgid "Link Barcode" +msgstr "" + +#: build/templates/build/build_base.html:56 +#: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:55 +#: order/templates/order/sales_order_base.html:55 +msgid "Print actions" +msgstr "" + +#: build/templates/build/build_base.html:60 +msgid "Print build order report" +msgstr "" + +#: build/templates/build/build_base.html:67 +msgid "Build actions" +msgstr "" + +#: build/templates/build/build_base.html:71 +msgid "Edit Build" +msgstr "" + +#: build/templates/build/build_base.html:73 +msgid "Cancel Build" +msgstr "" + +#: build/templates/build/build_base.html:76 +msgid "Duplicate Build" +msgstr "" + +#: build/templates/build/build_base.html:79 +msgid "Delete Build" +msgstr "" + +#: build/templates/build/build_base.html:84 +#: build/templates/build/build_base.html:85 +msgid "Complete Build" +msgstr "" + +#: build/templates/build/build_base.html:107 +msgid "Build Description" +msgstr "" + +#: build/templates/build/build_base.html:117 +msgid "No build outputs have been created for this build order" +msgstr "" + +#: build/templates/build/build_base.html:124 +msgid "Build Order is ready to mark as completed" +msgstr "" + +#: build/templates/build/build_base.html:129 +msgid "Build Order cannot be completed as outstanding outputs remain" +msgstr "" + +#: build/templates/build/build_base.html:134 +msgid "Required build quantity has not yet been completed" +msgstr "" + +#: build/templates/build/build_base.html:139 +msgid "Stock has not been fully allocated to this Build Order" +msgstr "" + +#: build/templates/build/build_base.html:160 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1343 order/templates/order/order_base.html:186 +#: order/templates/order/return_order_base.html:164 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 +msgid "Target Date" +msgstr "" + +#: build/templates/build/build_base.html:165 +#, python-format +msgid "This build was due on %(target)s" +msgstr "" + +#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:222 +#: order/templates/order/order_base.html:122 +#: order/templates/order/return_order_base.html:117 +#: order/templates/order/sales_order_base.html:126 +#: templates/js/translated/table_filters.js:98 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 +msgid "Overdue" +msgstr "" + +#: build/templates/build/build_base.html:177 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" +msgstr "" + +#: build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 +#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: order/templates/order/sales_order_base.html:9 +#: order/templates/order/sales_order_base.html:28 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 +#: stock/templates/stock/item_base.html:369 +#: templates/email/overdue_sales_order.html:15 +#: templates/js/translated/pricing.js:929 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 +msgid "Sales Order" +msgstr "" + +#: build/templates/build/build_base.html:197 +#: build/templates/build/detail.html:115 +#: report/templates/report/inventree_build_order_report.html:152 +#: templates/js/translated/table_filters.js:24 +msgid "Issued By" +msgstr "" + +#: build/templates/build/build_base.html:211 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2156 +msgid "Priority" +msgstr "" + +#: build/templates/build/build_base.html:269 +msgid "Delete Build Order" +msgstr "" + +#: build/templates/build/build_base.html:279 +msgid "Build Order QR Code" +msgstr "" + +#: build/templates/build/build_base.html:291 +msgid "Link Barcode to Build Order" +msgstr "" + +#: build/templates/build/detail.html:15 +msgid "Build Details" +msgstr "" + +#: build/templates/build/detail.html:38 +msgid "Stock Source" +msgstr "" + +#: build/templates/build/detail.html:43 +msgid "Stock can be taken from any available location." +msgstr "" + +#: build/templates/build/detail.html:49 order/models.py:1479 +#: templates/js/translated/purchase_order.js:2189 +msgid "Destination" +msgstr "" + +#: build/templates/build/detail.html:56 +msgid "Destination location not specified" +msgstr "" + +#: build/templates/build/detail.html:73 +msgid "Allocated Parts" +msgstr "" + +#: build/templates/build/detail.html:80 stock/admin.py:163 +#: stock/templates/stock/item_base.html:162 +#: templates/js/translated/build.js:1380 +#: templates/js/translated/model_renderers.js:241 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 +#: templates/js/translated/table_filters.js:313 +#: templates/js/translated/table_filters.js:404 +msgid "Batch" +msgstr "" + +#: build/templates/build/detail.html:133 +#: order/templates/order/order_base.html:173 +#: order/templates/order/return_order_base.html:151 +#: order/templates/order/sales_order_base.html:190 +#: templates/js/translated/build.js:2199 +msgid "Created" +msgstr "" + +#: build/templates/build/detail.html:144 +msgid "No target date set" +msgstr "" + +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:206 +#: templates/js/translated/table_filters.js:689 +msgid "Completed" +msgstr "" + +#: build/templates/build/detail.html:153 +msgid "Build not complete" +msgstr "" + +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 +msgid "Child Build Orders" +msgstr "" + +#: build/templates/build/detail.html:177 +msgid "Allocate Stock to Build" +msgstr "" + +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" +msgstr "" + +#: build/templates/build/detail.html:184 +msgid "Automatically allocate stock to build" +msgstr "" + +#: build/templates/build/detail.html:185 +msgid "Auto Allocate" +msgstr "" + +#: build/templates/build/detail.html:187 +msgid "Manually allocate stock to build" +msgstr "" + +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 +msgid "Allocate Stock" +msgstr "" + +#: build/templates/build/detail.html:191 +msgid "Order required parts" +msgstr "" + +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:795 +msgid "Order Parts" +msgstr "" + +#: build/templates/build/detail.html:205 +msgid "Available stock has been filtered based on specified source location for this build order" +msgstr "" + +#: build/templates/build/detail.html:215 +msgid "Incomplete Build Outputs" +msgstr "" + +#: build/templates/build/detail.html:219 +msgid "Create new build output" +msgstr "" + +#: build/templates/build/detail.html:220 +msgid "New Build Output" +msgstr "" + +#: build/templates/build/detail.html:237 build/templates/build/sidebar.html:15 +msgid "Consumed Stock" +msgstr "" + +#: build/templates/build/detail.html:249 +msgid "Completed Build Outputs" +msgstr "" + +#: build/templates/build/detail.html:261 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 +#: company/templates/company/manufacturer_part_sidebar.html:9 +#: company/templates/company/sidebar.html:39 +#: order/templates/order/po_sidebar.html:9 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 +#: order/templates/order/return_order_sidebar.html:7 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 +#: stock/templates/stock/stock_sidebar.html:23 +msgid "Attachments" +msgstr "" + +#: build/templates/build/detail.html:276 +msgid "Build Notes" +msgstr "" + +#: build/templates/build/detail.html:437 +msgid "Allocation Complete" +msgstr "" + +#: build/templates/build/detail.html:438 +msgid "All lines have been fully allocated" +msgstr "" + +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 +msgid "New Build Order" +msgstr "" + +#: build/templates/build/sidebar.html:5 +msgid "Build Order Details" +msgstr "" + +#: build/templates/build/sidebar.html:10 +msgid "Incomplete Outputs" +msgstr "" + +#: common/currency.py:132 +msgid "Invalid currency code" +msgstr "" + +#: common/currency.py:134 +msgid "Duplicate currency code" +msgstr "" + +#: common/currency.py:139 +msgid "No valid currency codes provided" +msgstr "" + +#: common/currency.py:153 +msgid "No plugin" +msgstr "" + +#: common/files.py:63 +#, python-brace-format +msgid "Unsupported file format: {fmt}" +msgstr "" + +#: common/files.py:65 +msgid "Error reading file (invalid encoding)" +msgstr "" + +#: common/files.py:70 +msgid "Error reading file (invalid format)" +msgstr "" + +#: common/files.py:72 +msgid "Error reading file (incorrect dimension)" +msgstr "" + +#: common/files.py:74 +msgid "Error reading file (data could be corrupted)" +msgstr "" + +#: common/forms.py:12 +msgid "File" +msgstr "" + +#: common/forms.py:12 +msgid "Select file to upload" +msgstr "" + +#: common/forms.py:25 +msgid "{name.title()} File" +msgstr "" + +#: common/forms.py:26 +#, python-brace-format +msgid "Select {name} file to upload" +msgstr "" + +#: common/models.py:69 +msgid "Updated" +msgstr "" + +#: common/models.py:70 +msgid "Timestamp of last update" +msgstr "" + +#: common/models.py:103 +msgid "Site URL is locked by configuration" +msgstr "" + +#: common/models.py:128 +msgid "Unique project code" +msgstr "" + +#: common/models.py:135 +msgid "Project description" +msgstr "" + +#: common/models.py:144 +msgid "User or group responsible for this project" +msgstr "" + +#: common/models.py:764 +msgid "Settings key (must be unique - case insensitive)" +msgstr "" + +#: common/models.py:768 +msgid "Settings value" +msgstr "" + +#: common/models.py:820 +msgid "Chosen value is not a valid option" +msgstr "" + +#: common/models.py:836 +msgid "Value must be a boolean value" +msgstr "" + +#: common/models.py:844 +msgid "Value must be an integer value" +msgstr "" + +#: common/models.py:881 +msgid "Key string must be unique" +msgstr "" + +#: common/models.py:1113 +msgid "No group" +msgstr "" + +#: common/models.py:1212 +msgid "Restart required" +msgstr "" + +#: common/models.py:1214 +msgid "A setting has been changed which requires a server restart" +msgstr "" + +#: common/models.py:1221 +msgid "Pending migrations" +msgstr "" + +#: common/models.py:1222 +msgid "Number of pending database migrations" +msgstr "" + +#: common/models.py:1227 +msgid "Server Instance Name" +msgstr "" + +#: common/models.py:1229 +msgid "String descriptor for the server instance" +msgstr "" + +#: common/models.py:1233 +msgid "Use instance name" +msgstr "" + +#: common/models.py:1234 +msgid "Use the instance name in the title-bar" +msgstr "" + +#: common/models.py:1239 +msgid "Restrict showing `about`" +msgstr "" + +#: common/models.py:1240 +msgid "Show the `about` modal only to superusers" +msgstr "" + +#: common/models.py:1245 company/models.py:108 company/models.py:109 +msgid "Company name" +msgstr "" + +#: common/models.py:1246 +msgid "Internal company name" +msgstr "" + +#: common/models.py:1250 +msgid "Base URL" +msgstr "" + +#: common/models.py:1251 +msgid "Base URL for server instance" +msgstr "" + +#: common/models.py:1257 +msgid "Default Currency" +msgstr "" + +#: common/models.py:1258 +msgid "Select base currency for pricing calculations" +msgstr "" + +#: common/models.py:1264 +msgid "Supported Currencies" +msgstr "" + +#: common/models.py:1265 +msgid "List of supported currency codes" +msgstr "" + +#: common/models.py:1271 +msgid "Currency Update Interval" +msgstr "" + +#: common/models.py:1273 +msgid "How often to update exchange rates (set to zero to disable)" +msgstr "" + +#: common/models.py:1276 common/models.py:1332 common/models.py:1345 +#: common/models.py:1353 common/models.py:1362 common/models.py:1371 +#: common/models.py:1589 common/models.py:1611 common/models.py:1726 +#: common/models.py:2045 +msgid "days" +msgstr "" + +#: common/models.py:1280 +msgid "Currency Update Plugin" +msgstr "" + +#: common/models.py:1281 +msgid "Currency update plugin to use" +msgstr "" + +#: common/models.py:1286 +msgid "Download from URL" +msgstr "" + +#: common/models.py:1288 +msgid "Allow download of remote images and files from external URL" +msgstr "" + +#: common/models.py:1294 +msgid "Download Size Limit" +msgstr "" + +#: common/models.py:1295 +msgid "Maximum allowable download size for remote image" +msgstr "" + +#: common/models.py:1301 +msgid "User-agent used to download from URL" +msgstr "" + +#: common/models.py:1303 +msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" +msgstr "" + +#: common/models.py:1308 +msgid "Strict URL Validation" +msgstr "" + +#: common/models.py:1309 +msgid "Require schema specification when validating URLs" +msgstr "" + +#: common/models.py:1314 +msgid "Require confirm" +msgstr "" + +#: common/models.py:1315 +msgid "Require explicit user confirmation for certain action." +msgstr "" + +#: common/models.py:1320 +msgid "Tree Depth" +msgstr "" + +#: common/models.py:1322 +msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." +msgstr "" + +#: common/models.py:1328 +msgid "Update Check Interval" +msgstr "" + +#: common/models.py:1329 +msgid "How often to check for updates (set to zero to disable)" +msgstr "" + +#: common/models.py:1335 +msgid "Automatic Backup" +msgstr "" + +#: common/models.py:1336 +msgid "Enable automatic backup of database and media files" +msgstr "" + +#: common/models.py:1341 +msgid "Auto Backup Interval" +msgstr "" + +#: common/models.py:1342 +msgid "Specify number of days between automated backup events" +msgstr "" + +#: common/models.py:1348 +msgid "Task Deletion Interval" +msgstr "" + +#: common/models.py:1350 +msgid "Background task results will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1357 +msgid "Error Log Deletion Interval" +msgstr "" + +#: common/models.py:1359 +msgid "Error logs will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1366 +msgid "Notification Deletion Interval" +msgstr "" + +#: common/models.py:1368 +msgid "User notifications will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31 +msgid "Barcode Support" +msgstr "" + +#: common/models.py:1376 +msgid "Enable barcode scanner support in the web interface" +msgstr "" + +#: common/models.py:1381 +msgid "Barcode Input Delay" +msgstr "" + +#: common/models.py:1382 +msgid "Barcode input processing delay time" +msgstr "" + +#: common/models.py:1388 +msgid "Barcode Webcam Support" +msgstr "" + +#: common/models.py:1389 +msgid "Allow barcode scanning via webcam in browser" +msgstr "" + +#: common/models.py:1394 +msgid "Part Revisions" +msgstr "" + +#: common/models.py:1395 +msgid "Enable revision field for Part" +msgstr "" + +#: common/models.py:1400 +msgid "Allow Deletion from Assembly" +msgstr "" + +#: common/models.py:1401 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1406 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1407 +msgid "Regular expression pattern for matching Part IPN" +msgstr "" + +#: common/models.py:1410 +msgid "Allow Duplicate IPN" +msgstr "" + +#: common/models.py:1411 +msgid "Allow multiple parts to share the same IPN" +msgstr "" + +#: common/models.py:1416 +msgid "Allow Editing IPN" +msgstr "" + +#: common/models.py:1417 +msgid "Allow changing the IPN value while editing a part" +msgstr "" + +#: common/models.py:1422 +msgid "Copy Part BOM Data" +msgstr "" + +#: common/models.py:1423 +msgid "Copy BOM data by default when duplicating a part" +msgstr "" + +#: common/models.py:1428 +msgid "Copy Part Parameter Data" +msgstr "" + +#: common/models.py:1429 +msgid "Copy parameter data by default when duplicating a part" +msgstr "" + +#: common/models.py:1434 +msgid "Copy Part Test Data" +msgstr "" + +#: common/models.py:1435 +msgid "Copy test data by default when duplicating a part" +msgstr "" + +#: common/models.py:1440 +msgid "Copy Category Parameter Templates" +msgstr "" + +#: common/models.py:1441 +msgid "Copy category parameter templates when creating a part" +msgstr "" + +#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: report/models.py:293 report/models.py:360 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 +msgid "Template" +msgstr "" + +#: common/models.py:1447 +msgid "Parts are templates by default" +msgstr "" + +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: templates/js/translated/bom.js:1639 +#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:721 +msgid "Assembly" +msgstr "" + +#: common/models.py:1453 +msgid "Parts can be assembled from other components by default" +msgstr "" + +#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: templates/js/translated/table_filters.js:729 +msgid "Component" +msgstr "" + +#: common/models.py:1459 +msgid "Parts can be used as sub-components by default" +msgstr "" + +#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +msgid "Purchaseable" +msgstr "" + +#: common/models.py:1465 +msgid "Parts are purchaseable by default" +msgstr "" + +#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: templates/js/translated/table_filters.js:755 +msgid "Salable" +msgstr "" + +#: common/models.py:1471 +msgid "Parts are salable by default" +msgstr "" + +#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:771 +msgid "Trackable" +msgstr "" + +#: common/models.py:1477 +msgid "Parts are trackable by default" +msgstr "" + +#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: part/templates/part/part_base.html:154 +#: templates/js/translated/table_filters.js:143 +#: templates/js/translated/table_filters.js:775 +msgid "Virtual" +msgstr "" + +#: common/models.py:1483 +msgid "Parts are virtual by default" +msgstr "" + +#: common/models.py:1488 +msgid "Show Import in Views" +msgstr "" + +#: common/models.py:1489 +msgid "Display the import wizard in some part views" +msgstr "" + +#: common/models.py:1494 +msgid "Show related parts" +msgstr "" + +#: common/models.py:1495 +msgid "Display related parts for a part" +msgstr "" + +#: common/models.py:1500 +msgid "Initial Stock Data" +msgstr "" + +#: common/models.py:1501 +msgid "Allow creation of initial stock when adding a new part" +msgstr "" + +#: common/models.py:1506 templates/js/translated/part.js:107 +msgid "Initial Supplier Data" +msgstr "" + +#: common/models.py:1508 +msgid "Allow creation of initial supplier data when adding a new part" +msgstr "" + +#: common/models.py:1514 +msgid "Part Name Display Format" +msgstr "" + +#: common/models.py:1515 +msgid "Format to display the part name" +msgstr "" + +#: common/models.py:1521 +msgid "Part Category Default Icon" +msgstr "" + +#: common/models.py:1522 +msgid "Part category default icon (empty means no icon)" +msgstr "" + +#: common/models.py:1526 +msgid "Enforce Parameter Units" +msgstr "" + +#: common/models.py:1528 +msgid "If units are provided, parameter values must match the specified units" +msgstr "" + +#: common/models.py:1534 +msgid "Minimum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1536 +msgid "Minimum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1547 +msgid "Maximum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1549 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1560 +msgid "Use Supplier Pricing" +msgstr "" + +#: common/models.py:1562 +msgid "Include supplier price breaks in overall pricing calculations" +msgstr "" + +#: common/models.py:1568 +msgid "Purchase History Override" +msgstr "" + +#: common/models.py:1570 +msgid "Historical purchase order pricing overrides supplier price breaks" +msgstr "" + +#: common/models.py:1576 +msgid "Use Stock Item Pricing" +msgstr "" + +#: common/models.py:1578 +msgid "Use pricing from manually entered stock data for pricing calculations" +msgstr "" + +#: common/models.py:1584 +msgid "Stock Item Pricing Age" +msgstr "" + +#: common/models.py:1586 +msgid "Exclude stock items older than this number of days from pricing calculations" +msgstr "" + +#: common/models.py:1593 +msgid "Use Variant Pricing" +msgstr "" + +#: common/models.py:1594 +msgid "Include variant pricing in overall pricing calculations" +msgstr "" + +#: common/models.py:1599 +msgid "Active Variants Only" +msgstr "" + +#: common/models.py:1601 +msgid "Only use active variant parts for calculating variant pricing" +msgstr "" + +#: common/models.py:1607 +msgid "Pricing Rebuild Interval" +msgstr "" + +#: common/models.py:1609 +msgid "Number of days before part pricing is automatically updated" +msgstr "" + +#: common/models.py:1616 +msgid "Internal Prices" +msgstr "" + +#: common/models.py:1617 +msgid "Enable internal prices for parts" +msgstr "" + +#: common/models.py:1622 +msgid "Internal Price Override" +msgstr "" + +#: common/models.py:1624 +msgid "If available, internal prices override price range calculations" +msgstr "" + +#: common/models.py:1630 +msgid "Enable label printing" +msgstr "" + +#: common/models.py:1631 +msgid "Enable label printing from the web interface" +msgstr "" + +#: common/models.py:1636 +msgid "Label Image DPI" +msgstr "" + +#: common/models.py:1638 +msgid "DPI resolution when generating image files to supply to label printing plugins" +msgstr "" + +#: common/models.py:1644 +msgid "Enable Reports" +msgstr "" + +#: common/models.py:1645 +msgid "Enable generation of reports" +msgstr "" + +#: common/models.py:1650 templates/stats.html:25 +msgid "Debug Mode" +msgstr "" + +#: common/models.py:1651 +msgid "Generate reports in debug mode (HTML output)" +msgstr "" + +#: common/models.py:1656 +msgid "Log Report Errors" +msgstr "" + +#: common/models.py:1657 +msgid "Log errors which occur when generating reports" +msgstr "" + +#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:301 +msgid "Page Size" +msgstr "" + +#: common/models.py:1663 +msgid "Default page size for PDF reports" +msgstr "" + +#: common/models.py:1668 +msgid "Enable Test Reports" +msgstr "" + +#: common/models.py:1669 +msgid "Enable generation of test reports" +msgstr "" + +#: common/models.py:1674 +msgid "Attach Test Reports" +msgstr "" + +#: common/models.py:1676 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "" + +#: common/models.py:1682 +msgid "Globally Unique Serials" +msgstr "" + +#: common/models.py:1683 +msgid "Serial numbers for stock items must be globally unique" +msgstr "" + +#: common/models.py:1688 +msgid "Autofill Serial Numbers" +msgstr "" + +#: common/models.py:1689 +msgid "Autofill serial numbers in forms" +msgstr "" + +#: common/models.py:1694 +msgid "Delete Depleted Stock" +msgstr "" + +#: common/models.py:1696 +msgid "Determines default behavior when a stock item is depleted" +msgstr "" + +#: common/models.py:1702 +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:1704 +msgid "Template for generating default batch codes for stock items" +msgstr "" + +#: common/models.py:1709 +msgid "Stock Expiry" +msgstr "" + +#: common/models.py:1710 +msgid "Enable stock expiry functionality" +msgstr "" + +#: common/models.py:1715 +msgid "Sell Expired Stock" +msgstr "" + +#: common/models.py:1716 +msgid "Allow sale of expired stock" +msgstr "" + +#: common/models.py:1721 +msgid "Stock Stale Time" +msgstr "" + +#: common/models.py:1723 +msgid "Number of days stock items are considered stale before expiring" +msgstr "" + +#: common/models.py:1730 +msgid "Build Expired Stock" +msgstr "" + +#: common/models.py:1731 +msgid "Allow building with expired stock" +msgstr "" + +#: common/models.py:1736 +msgid "Stock Ownership Control" +msgstr "" + +#: common/models.py:1737 +msgid "Enable ownership control over stock locations and items" +msgstr "" + +#: common/models.py:1742 +msgid "Stock Location Default Icon" +msgstr "" + +#: common/models.py:1743 +msgid "Stock location default icon (empty means no icon)" +msgstr "" + +#: common/models.py:1747 +msgid "Show Installed Stock Items" +msgstr "" + +#: common/models.py:1748 +msgid "Display installed stock items in stock tables" +msgstr "" + +#: common/models.py:1753 +msgid "Check BOM when installing items" +msgstr "" + +#: common/models.py:1755 +msgid "Installed stock items must exist in the BOM for the parent part" +msgstr "" + +#: common/models.py:1761 +msgid "Allow Out of Stock Transfer" +msgstr "" + +#: common/models.py:1763 +msgid "Allow stock items which are not in stock to be transferred between stock locations" +msgstr "" + +#: common/models.py:1769 +msgid "Build Order Reference Pattern" +msgstr "" + +#: common/models.py:1771 +msgid "Required pattern for generating Build Order reference field" +msgstr "" + +#: common/models.py:1777 common/models.py:1805 common/models.py:1827 +#: common/models.py:1863 +msgid "Require Responsible Owner" +msgstr "" + +#: common/models.py:1778 common/models.py:1806 common/models.py:1828 +#: common/models.py:1864 +msgid "A responsible owner must be assigned to each order" +msgstr "" + +#: common/models.py:1783 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1785 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:1791 +msgid "Enable Return Orders" +msgstr "" + +#: common/models.py:1792 +msgid "Enable return order functionality in the user interface" +msgstr "" + +#: common/models.py:1797 +msgid "Return Order Reference Pattern" +msgstr "" + +#: common/models.py:1799 +msgid "Required pattern for generating Return Order reference field" +msgstr "" + +#: common/models.py:1811 +msgid "Edit Completed Return Orders" +msgstr "" + +#: common/models.py:1813 +msgid "Allow editing of return orders after they have been completed" +msgstr "" + +#: common/models.py:1819 +msgid "Sales Order Reference Pattern" +msgstr "" + +#: common/models.py:1821 +msgid "Required pattern for generating Sales Order reference field" +msgstr "" + +#: common/models.py:1833 +msgid "Sales Order Default Shipment" +msgstr "" + +#: common/models.py:1834 +msgid "Enable creation of default shipment with sales orders" +msgstr "" + +#: common/models.py:1839 +msgid "Edit Completed Sales Orders" +msgstr "" + +#: common/models.py:1841 +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1847 +msgid "Mark Shipped Orders as Complete" +msgstr "" + +#: common/models.py:1849 +msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" +msgstr "" + +#: common/models.py:1855 +msgid "Purchase Order Reference Pattern" +msgstr "" + +#: common/models.py:1857 +msgid "Required pattern for generating Purchase Order reference field" +msgstr "" + +#: common/models.py:1869 +msgid "Edit Completed Purchase Orders" +msgstr "" + +#: common/models.py:1871 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1877 +msgid "Auto Complete Purchase Orders" +msgstr "" + +#: common/models.py:1879 +msgid "Automatically mark purchase orders as complete when all line items are received" +msgstr "" + +#: common/models.py:1886 +msgid "Enable password forgot" +msgstr "" + +#: common/models.py:1887 +msgid "Enable password forgot function on the login pages" +msgstr "" + +#: common/models.py:1892 +msgid "Enable registration" +msgstr "" + +#: common/models.py:1893 +msgid "Enable self-registration for users on the login pages" +msgstr "" + +#: common/models.py:1898 +msgid "Enable SSO" +msgstr "" + +#: common/models.py:1899 +msgid "Enable SSO on the login pages" +msgstr "" + +#: common/models.py:1904 +msgid "Enable SSO registration" +msgstr "" + +#: common/models.py:1906 +msgid "Enable self-registration via SSO for users on the login pages" +msgstr "" + +#: common/models.py:1912 +msgid "Email required" +msgstr "" + +#: common/models.py:1913 +msgid "Require user to supply mail on signup" +msgstr "" + +#: common/models.py:1918 +msgid "Auto-fill SSO users" +msgstr "" + +#: common/models.py:1920 +msgid "Automatically fill out user-details from SSO account-data" +msgstr "" + +#: common/models.py:1926 +msgid "Mail twice" +msgstr "" + +#: common/models.py:1927 +msgid "On signup ask users twice for their mail" +msgstr "" + +#: common/models.py:1932 +msgid "Password twice" +msgstr "" + +#: common/models.py:1933 +msgid "On signup ask users twice for their password" +msgstr "" + +#: common/models.py:1938 +msgid "Allowed domains" +msgstr "" + +#: common/models.py:1940 +msgid "Restrict signup to certain domains (comma-separated, starting with @)" +msgstr "" + +#: common/models.py:1946 +msgid "Group on signup" +msgstr "" + +#: common/models.py:1947 +msgid "Group to which new users are assigned on registration" +msgstr "" + +#: common/models.py:1952 +msgid "Enforce MFA" +msgstr "" + +#: common/models.py:1953 +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1958 +msgid "Check plugins on startup" +msgstr "" + +#: common/models.py:1960 +msgid "Check that all plugins are installed on startup - enable in container environments" +msgstr "" + +#: common/models.py:1968 +msgid "Check for plugin updates" +msgstr "" + +#: common/models.py:1969 +msgid "Enable periodic checks for updates to installed plugins" +msgstr "" + +#: common/models.py:1975 +msgid "Enable URL integration" +msgstr "" + +#: common/models.py:1976 +msgid "Enable plugins to add URL routes" +msgstr "" + +#: common/models.py:1982 +msgid "Enable navigation integration" +msgstr "" + +#: common/models.py:1983 +msgid "Enable plugins to integrate into navigation" +msgstr "" + +#: common/models.py:1989 +msgid "Enable app integration" +msgstr "" + +#: common/models.py:1990 +msgid "Enable plugins to add apps" +msgstr "" + +#: common/models.py:1996 +msgid "Enable schedule integration" +msgstr "" + +#: common/models.py:1997 +msgid "Enable plugins to run scheduled tasks" +msgstr "" + +#: common/models.py:2003 +msgid "Enable event integration" +msgstr "" + +#: common/models.py:2004 +msgid "Enable plugins to respond to internal events" +msgstr "" + +#: common/models.py:2010 +msgid "Enable project codes" +msgstr "" + +#: common/models.py:2011 +msgid "Enable project codes for tracking projects" +msgstr "" + +#: common/models.py:2016 +msgid "Stocktake Functionality" +msgstr "" + +#: common/models.py:2018 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/models.py:2024 +msgid "Exclude External Locations" +msgstr "" + +#: common/models.py:2026 +msgid "Exclude stock items in external locations from stocktake calculations" +msgstr "" + +#: common/models.py:2032 +msgid "Automatic Stocktake Period" +msgstr "" + +#: common/models.py:2034 +msgid "Number of days between automatic stocktake recording (set to zero to disable)" +msgstr "" + +#: common/models.py:2040 +msgid "Report Deletion Interval" +msgstr "" + +#: common/models.py:2042 +msgid "Stocktake reports will be deleted after specified number of days" +msgstr "" + +#: common/models.py:2049 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:2050 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:2055 +msgid "Enable Test Station Data" +msgstr "" + +#: common/models.py:2056 +msgid "Enable test station data collection for test results" +msgstr "" + +#: common/models.py:2068 common/models.py:2478 +msgid "Settings key (must be unique - case insensitive" +msgstr "" + +#: common/models.py:2111 +msgid "Hide inactive parts" +msgstr "" + +#: common/models.py:2113 +msgid "Hide inactive parts in results displayed on the homepage" +msgstr "" + +#: common/models.py:2119 +msgid "Show subscribed parts" +msgstr "" + +#: common/models.py:2120 +msgid "Show subscribed parts on the homepage" +msgstr "" + +#: common/models.py:2125 +msgid "Show subscribed categories" +msgstr "" + +#: common/models.py:2126 +msgid "Show subscribed part categories on the homepage" +msgstr "" + +#: common/models.py:2131 +msgid "Show latest parts" +msgstr "" + +#: common/models.py:2132 +msgid "Show latest parts on the homepage" +msgstr "" + +#: common/models.py:2137 +msgid "Show invalid BOMs" +msgstr "" + +#: common/models.py:2138 +msgid "Show BOMs that await validation on the homepage" +msgstr "" + +#: common/models.py:2143 +msgid "Show recent stock changes" +msgstr "" + +#: common/models.py:2144 +msgid "Show recently changed stock items on the homepage" +msgstr "" + +#: common/models.py:2149 +msgid "Show low stock" +msgstr "" + +#: common/models.py:2150 +msgid "Show low stock items on the homepage" +msgstr "" + +#: common/models.py:2155 +msgid "Show depleted stock" +msgstr "" + +#: common/models.py:2156 +msgid "Show depleted stock items on the homepage" +msgstr "" + +#: common/models.py:2161 +msgid "Show needed stock" +msgstr "" + +#: common/models.py:2162 +msgid "Show stock items needed for builds on the homepage" +msgstr "" + +#: common/models.py:2167 +msgid "Show expired stock" +msgstr "" + +#: common/models.py:2168 +msgid "Show expired stock items on the homepage" +msgstr "" + +#: common/models.py:2173 +msgid "Show stale stock" +msgstr "" + +#: common/models.py:2174 +msgid "Show stale stock items on the homepage" +msgstr "" + +#: common/models.py:2179 +msgid "Show pending builds" +msgstr "" + +#: common/models.py:2180 +msgid "Show pending builds on the homepage" +msgstr "" + +#: common/models.py:2185 +msgid "Show overdue builds" +msgstr "" + +#: common/models.py:2186 +msgid "Show overdue builds on the homepage" +msgstr "" + +#: common/models.py:2191 +msgid "Show outstanding POs" +msgstr "" + +#: common/models.py:2192 +msgid "Show outstanding POs on the homepage" +msgstr "" + +#: common/models.py:2197 +msgid "Show overdue POs" +msgstr "" + +#: common/models.py:2198 +msgid "Show overdue POs on the homepage" +msgstr "" + +#: common/models.py:2203 +msgid "Show outstanding SOs" +msgstr "" + +#: common/models.py:2204 +msgid "Show outstanding SOs on the homepage" +msgstr "" + +#: common/models.py:2209 +msgid "Show overdue SOs" +msgstr "" + +#: common/models.py:2210 +msgid "Show overdue SOs on the homepage" +msgstr "" + +#: common/models.py:2215 +msgid "Show pending SO shipments" +msgstr "" + +#: common/models.py:2216 +msgid "Show pending SO shipments on the homepage" +msgstr "" + +#: common/models.py:2221 +msgid "Show News" +msgstr "" + +#: common/models.py:2222 +msgid "Show news on the homepage" +msgstr "" + +#: common/models.py:2227 +msgid "Inline label display" +msgstr "" + +#: common/models.py:2229 +msgid "Display PDF labels in the browser, instead of downloading as a file" +msgstr "" + +#: common/models.py:2235 +msgid "Default label printer" +msgstr "" + +#: common/models.py:2237 +msgid "Configure which label printer should be selected by default" +msgstr "" + +#: common/models.py:2243 +msgid "Inline report display" +msgstr "" + +#: common/models.py:2245 +msgid "Display PDF reports in the browser, instead of downloading as a file" +msgstr "" + +#: common/models.py:2251 +msgid "Search Parts" +msgstr "" + +#: common/models.py:2252 +msgid "Display parts in search preview window" +msgstr "" + +#: common/models.py:2257 +msgid "Search Supplier Parts" +msgstr "" + +#: common/models.py:2258 +msgid "Display supplier parts in search preview window" +msgstr "" + +#: common/models.py:2263 +msgid "Search Manufacturer Parts" +msgstr "" + +#: common/models.py:2264 +msgid "Display manufacturer parts in search preview window" +msgstr "" + +#: common/models.py:2269 +msgid "Hide Inactive Parts" +msgstr "" + +#: common/models.py:2270 +msgid "Excluded inactive parts from search preview window" +msgstr "" + +#: common/models.py:2275 +msgid "Search Categories" +msgstr "" + +#: common/models.py:2276 +msgid "Display part categories in search preview window" +msgstr "" + +#: common/models.py:2281 +msgid "Search Stock" +msgstr "" + +#: common/models.py:2282 +msgid "Display stock items in search preview window" +msgstr "" + +#: common/models.py:2287 +msgid "Hide Unavailable Stock Items" +msgstr "" + +#: common/models.py:2289 +msgid "Exclude stock items which are not available from the search preview window" +msgstr "" + +#: common/models.py:2295 +msgid "Search Locations" +msgstr "" + +#: common/models.py:2296 +msgid "Display stock locations in search preview window" +msgstr "" + +#: common/models.py:2301 +msgid "Search Companies" +msgstr "" + +#: common/models.py:2302 +msgid "Display companies in search preview window" +msgstr "" + +#: common/models.py:2307 +msgid "Search Build Orders" +msgstr "" + +#: common/models.py:2308 +msgid "Display build orders in search preview window" +msgstr "" + +#: common/models.py:2313 +msgid "Search Purchase Orders" +msgstr "" + +#: common/models.py:2314 +msgid "Display purchase orders in search preview window" +msgstr "" + +#: common/models.py:2319 +msgid "Exclude Inactive Purchase Orders" +msgstr "" + +#: common/models.py:2321 +msgid "Exclude inactive purchase orders from search preview window" +msgstr "" + +#: common/models.py:2327 +msgid "Search Sales Orders" +msgstr "" + +#: common/models.py:2328 +msgid "Display sales orders in search preview window" +msgstr "" + +#: common/models.py:2333 +msgid "Exclude Inactive Sales Orders" +msgstr "" + +#: common/models.py:2335 +msgid "Exclude inactive sales orders from search preview window" +msgstr "" + +#: common/models.py:2341 +msgid "Search Return Orders" +msgstr "" + +#: common/models.py:2342 +msgid "Display return orders in search preview window" +msgstr "" + +#: common/models.py:2347 +msgid "Exclude Inactive Return Orders" +msgstr "" + +#: common/models.py:2349 +msgid "Exclude inactive return orders from search preview window" +msgstr "" + +#: common/models.py:2355 +msgid "Search Preview Results" +msgstr "" + +#: common/models.py:2357 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:2363 +msgid "Regex Search" +msgstr "" + +#: common/models.py:2364 +msgid "Enable regular expressions in search queries" +msgstr "" + +#: common/models.py:2369 +msgid "Whole Word Search" +msgstr "" + +#: common/models.py:2370 +msgid "Search queries return results for whole word matches" +msgstr "" + +#: common/models.py:2375 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:2376 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:2381 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:2382 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:2387 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:2388 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2393 +msgid "Date Format" +msgstr "" + +#: common/models.py:2394 +msgid "Preferred format for displaying dates" +msgstr "" + +#: common/models.py:2407 part/templates/part/detail.html:41 +msgid "Part Scheduling" +msgstr "" + +#: common/models.py:2408 +msgid "Display part scheduling information" +msgstr "" + +#: common/models.py:2413 part/templates/part/detail.html:62 +msgid "Part Stocktake" +msgstr "" + +#: common/models.py:2415 +msgid "Display part stocktake information (if stocktake functionality is enabled)" +msgstr "" + +#: common/models.py:2421 +msgid "Table String Length" +msgstr "" + +#: common/models.py:2423 +msgid "Maximum length limit for strings displayed in table views" +msgstr "" + +#: common/models.py:2429 +msgid "Default part label template" +msgstr "" + +#: common/models.py:2430 +msgid "The part label template to be automatically selected" +msgstr "" + +#: common/models.py:2435 +msgid "Default stock item template" +msgstr "" + +#: common/models.py:2437 +msgid "The stock item label template to be automatically selected" +msgstr "" + +#: common/models.py:2443 +msgid "Default stock location label template" +msgstr "" + +#: common/models.py:2445 +msgid "The stock location label template to be automatically selected" +msgstr "" + +#: common/models.py:2451 +msgid "Default build line label template" +msgstr "" + +#: common/models.py:2453 +msgid "The build line label template to be automatically selected" +msgstr "" + +#: common/models.py:2459 +msgid "Receive error reports" +msgstr "" + +#: common/models.py:2460 +msgid "Receive notifications for system errors" +msgstr "" + +#: common/models.py:2465 +msgid "Last used printing machines" +msgstr "" + +#: common/models.py:2466 +msgid "Save the last used printing machines for a user" +msgstr "" + +#: common/models.py:2509 +msgid "Price break quantity" +msgstr "" + +#: common/models.py:2516 company/serializers.py:497 order/admin.py:42 +#: order/models.py:1382 order/models.py:2301 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: templates/js/translated/pricing.js:621 +#: templates/js/translated/return_order.js:740 +msgid "Price" +msgstr "" + +#: common/models.py:2517 +msgid "Unit price at specified quantity" +msgstr "" + +#: common/models.py:2612 common/models.py:2797 +msgid "Endpoint" +msgstr "" + +#: common/models.py:2613 +msgid "Endpoint at which this webhook is received" +msgstr "" + +#: common/models.py:2623 +msgid "Name for this webhook" +msgstr "" + +#: common/models.py:2627 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: plugin/models.py:66 templates/js/translated/company.js:523 +#: templates/js/translated/table_filters.js:135 +#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 +#: templates/js/translated/table_filters.js:796 users/models.py:182 +msgid "Active" +msgstr "" + +#: common/models.py:2627 +msgid "Is this webhook active" +msgstr "" + +#: common/models.py:2643 users/models.py:159 +msgid "Token" +msgstr "" + +#: common/models.py:2644 +msgid "Token for access" +msgstr "" + +#: common/models.py:2652 +msgid "Secret" +msgstr "" + +#: common/models.py:2653 +msgid "Shared secret for HMAC" +msgstr "" + +#: common/models.py:2761 +msgid "Message ID" +msgstr "" + +#: common/models.py:2762 +msgid "Unique identifier for this message" +msgstr "" + +#: common/models.py:2770 +msgid "Host" +msgstr "" + +#: common/models.py:2771 +msgid "Host from which this message was received" +msgstr "" + +#: common/models.py:2779 +msgid "Header" +msgstr "" + +#: common/models.py:2780 +msgid "Header of this message" +msgstr "" + +#: common/models.py:2787 +msgid "Body" +msgstr "" + +#: common/models.py:2788 +msgid "Body of this message" +msgstr "" + +#: common/models.py:2798 +msgid "Endpoint on which this message was received" +msgstr "" + +#: common/models.py:2803 +msgid "Worked on" +msgstr "" + +#: common/models.py:2804 +msgid "Was the work on this message finished?" +msgstr "" + +#: common/models.py:2930 +msgid "Id" +msgstr "" + +#: common/models.py:2932 templates/js/translated/company.js:965 +#: templates/js/translated/news.js:44 +msgid "Title" +msgstr "" + +#: common/models.py:2936 templates/js/translated/news.js:60 +msgid "Published" +msgstr "" + +#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 +msgid "Author" +msgstr "" + +#: common/models.py:2940 templates/js/translated/news.js:52 +msgid "Summary" +msgstr "" + +#: common/models.py:2943 +msgid "Read" +msgstr "" + +#: common/models.py:2943 +msgid "Was this news item read?" +msgstr "" + +#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: report/templates/report/inventree_bill_of_materials_report.html:126 +#: report/templates/report/inventree_bill_of_materials_report.html:148 +#: report/templates/report/inventree_return_order_report.html:35 +#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: templates/hover_image.html:7 templates/hover_image.html:9 +#: templates/modals.html:6 +msgid "Image" +msgstr "" + +#: common/models.py:2960 +msgid "Image file" +msgstr "" + +#: common/models.py:2972 +msgid "Target model type for this image" +msgstr "" + +#: common/models.py:2976 +msgid "Target model ID for this image" +msgstr "" + +#: common/models.py:3017 +msgid "Unit name must be a valid identifier" +msgstr "" + +#: common/models.py:3036 +msgid "Unit name" +msgstr "" + +#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75 +msgid "Symbol" +msgstr "" + +#: common/models.py:3044 +msgid "Optional unit symbol" +msgstr "" + +#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71 +msgid "Definition" +msgstr "" + +#: common/models.py:3052 +msgid "Unit definition" +msgstr "" + +#: common/notifications.py:314 +#, python-brace-format +msgid "New {verbose_name}" +msgstr "" + +#: common/notifications.py:316 +msgid "A new order has been created and assigned to you" +msgstr "" + +#: common/notifications.py:322 +#, python-brace-format +msgid "{verbose_name} canceled" +msgstr "" + +#: common/notifications.py:324 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +msgid "Items Received" +msgstr "" + +#: common/notifications.py:332 +msgid "Items have been received against a purchase order" +msgstr "" + +#: common/notifications.py:339 +msgid "Items have been received against a return order" +msgstr "" + +#: common/notifications.py:457 +msgid "Error raised by plugin" +msgstr "" + +#: common/serializers.py:366 +msgid "Is Running" +msgstr "" + +#: common/serializers.py:372 +msgid "Pending Tasks" +msgstr "" + +#: common/serializers.py:378 +msgid "Scheduled Tasks" +msgstr "" + +#: common/serializers.py:384 +msgid "Failed Tasks" +msgstr "" + +#: common/serializers.py:399 +msgid "Task ID" +msgstr "" + +#: common/serializers.py:399 +msgid "Unique task ID" +msgstr "" + +#: common/serializers.py:401 +msgid "Lock" +msgstr "" + +#: common/serializers.py:401 +msgid "Lock time" +msgstr "" + +#: common/serializers.py:403 +msgid "Task name" +msgstr "" + +#: common/serializers.py:405 +msgid "Function" +msgstr "" + +#: common/serializers.py:405 +msgid "Function name" +msgstr "" + +#: common/serializers.py:407 +msgid "Arguments" +msgstr "" + +#: common/serializers.py:407 +msgid "Task arguments" +msgstr "" + +#: common/serializers.py:410 +msgid "Keyword Arguments" +msgstr "" + +#: common/serializers.py:410 +msgid "Task keyword arguments" +msgstr "" + +#: common/validators.py:43 +msgid "Minimum places cannot be greater than maximum places" +msgstr "" + +#: common/validators.py:57 +msgid "Maximum places cannot be less than minimum places" +msgstr "" + +#: common/validators.py:68 +msgid "An empty domain is not allowed." +msgstr "" + +#: common/validators.py:70 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "" + +#: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 +#: order/templates/order/purchase_order_detail.html:24 order/views.py:118 +#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 +#: templates/patterns/wizard/upload.html:37 +msgid "Upload File" +msgstr "" + +#: common/views.py:84 order/templates/order/order_wizard/match_fields.html:52 +#: order/views.py:119 +#: part/templates/part/import_wizard/ajax_match_fields.html:45 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 +#: templates/patterns/wizard/match_fields.html:51 +msgid "Match Fields" +msgstr "" + +#: common/views.py:84 +msgid "Match Items" +msgstr "" + +#: common/views.py:401 +msgid "Fields matching failed" +msgstr "" + +#: common/views.py:464 +msgid "Parts imported" +msgstr "" + +#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: order/templates/order/order_wizard/match_parts.html:19 +#: order/templates/order/order_wizard/po_upload.html:49 +#: part/templates/part/import_wizard/match_fields.html:27 +#: part/templates/part/import_wizard/match_references.html:19 +#: part/templates/part/import_wizard/part_upload.html:56 +#: templates/patterns/wizard/match_fields.html:26 +#: templates/patterns/wizard/upload.html:35 +msgid "Previous Step" +msgstr "" + +#: company/api.py:164 +msgid "Part is Active" +msgstr "" + +#: company/api.py:168 +msgid "Manufacturer is Active" +msgstr "" + +#: company/api.py:317 +msgid "Supplier Part is Active" +msgstr "" + +#: company/api.py:321 +msgid "Internal Part is Active" +msgstr "" + +#: company/api.py:325 +msgid "Supplier is Active" +msgstr "" + +#: company/models.py:114 +msgid "Company description" +msgstr "" + +#: company/models.py:115 +msgid "Description of the company" +msgstr "" + +#: company/models.py:120 company/templates/company/company_base.html:106 +#: templates/InvenTree/settings/plugin_settings.html:54 +#: templates/js/translated/company.js:532 +msgid "Website" +msgstr "" + +#: company/models.py:120 +msgid "Company website URL" +msgstr "" + +#: company/models.py:125 +msgid "Phone number" +msgstr "" + +#: company/models.py:127 +msgid "Contact phone number" +msgstr "" + +#: company/models.py:134 +msgid "Contact email address" +msgstr "" + +#: company/models.py:139 company/templates/company/company_base.html:145 +#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/templates/order/return_order_base.html:174 +#: order/templates/order/sales_order_base.html:218 +msgid "Contact" +msgstr "" + +#: company/models.py:141 +msgid "Point of contact" +msgstr "" + +#: company/models.py:147 +msgid "Link to external company information" +msgstr "" + +#: company/models.py:160 +msgid "Is this company active?" +msgstr "" + +#: company/models.py:165 +msgid "is customer" +msgstr "" + +#: company/models.py:166 +msgid "Do you sell items to this company?" +msgstr "" + +#: company/models.py:171 +msgid "is supplier" +msgstr "" + +#: company/models.py:172 +msgid "Do you purchase items from this company?" +msgstr "" + +#: company/models.py:177 +msgid "is manufacturer" +msgstr "" + +#: company/models.py:178 +msgid "Does this company manufacture parts?" +msgstr "" + +#: company/models.py:186 +msgid "Default currency used for this company" +msgstr "" + +#: company/models.py:273 company/models.py:382 +#: company/templates/company/company_base.html:8 +#: company/templates/company/company_base.html:12 stock/api.py:812 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 +msgid "Company" +msgstr "" + +#: company/models.py:383 +msgid "Select company" +msgstr "" + +#: company/models.py:388 +msgid "Address title" +msgstr "" + +#: company/models.py:389 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:395 +msgid "Primary address" +msgstr "" + +#: company/models.py:396 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:401 templates/js/translated/company.js:914 +#: templates/js/translated/company.js:971 +msgid "Line 1" +msgstr "" + +#: company/models.py:402 +msgid "Address line 1" +msgstr "" + +#: company/models.py:408 templates/js/translated/company.js:915 +#: templates/js/translated/company.js:977 +msgid "Line 2" +msgstr "" + +#: company/models.py:409 +msgid "Address line 2" +msgstr "" + +#: company/models.py:415 company/models.py:416 +#: templates/js/translated/company.js:983 +msgid "Postal code" +msgstr "" + +#: company/models.py:422 +msgid "City/Region" +msgstr "" + +#: company/models.py:423 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:429 +msgid "State/Province" +msgstr "" + +#: company/models.py:430 +msgid "State or province" +msgstr "" + +#: company/models.py:436 templates/js/translated/company.js:1001 +msgid "Country" +msgstr "" + +#: company/models.py:437 +msgid "Address country" +msgstr "" + +#: company/models.py:443 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:444 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:450 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:451 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:458 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:489 company/models.py:792 stock/models.py:768 +#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: templates/js/translated/bom.js:622 +msgid "Base Part" +msgstr "" + +#: company/models.py:491 company/models.py:794 +msgid "Select part" +msgstr "" + +#: company/models.py:500 company/templates/company/company_base.html:82 +#: company/templates/company/manufacturer_part.html:90 +#: company/templates/company/supplier_part.html:145 part/serializers.py:532 +#: stock/templates/stock/item_base.html:207 +#: templates/js/translated/company.js:507 +#: templates/js/translated/company.js:1118 +#: templates/js/translated/company.js:1296 +#: templates/js/translated/company.js:1611 +#: templates/js/translated/table_filters.js:800 +msgid "Manufacturer" +msgstr "" + +#: company/models.py:501 +msgid "Select manufacturer" +msgstr "" + +#: company/models.py:507 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:542 +#: templates/js/translated/company.js:351 +#: templates/js/translated/company.js:1117 +#: templates/js/translated/company.js:1312 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 +msgid "MPN" +msgstr "" + +#: company/models.py:508 +msgid "Manufacturer Part Number" +msgstr "" + +#: company/models.py:515 +msgid "URL for external manufacturer part link" +msgstr "" + +#: company/models.py:524 +msgid "Manufacturer part description" +msgstr "" + +#: company/models.py:581 company/models.py:608 company/models.py:824 +#: company/templates/company/manufacturer_part.html:7 +#: company/templates/company/manufacturer_part.html:24 +#: stock/templates/stock/item_base.html:217 +msgid "Manufacturer Part" +msgstr "" + +#: company/models.py:615 +msgid "Parameter name" +msgstr "" + +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2434 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: templates/js/translated/stock.js:1522 +msgid "Value" +msgstr "" + +#: company/models.py:622 +msgid "Parameter value" +msgstr "" + +#: company/models.py:629 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/templates/part/part_base.html:284 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 +#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +msgid "Units" +msgstr "" + +#: company/models.py:630 +msgid "Parameter units" +msgstr "" + +#: company/models.py:732 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:739 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:753 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:802 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 +#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: templates/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:511 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/pricing.js:498 +#: templates/js/translated/purchase_order.js:1689 +#: templates/js/translated/table_filters.js:804 +msgid "Supplier" +msgstr "" + +#: company/models.py:803 +msgid "Select supplier" +msgstr "" + +#: company/models.py:809 part/serializers.py:527 +msgid "Supplier stock keeping unit" +msgstr "" + +#: company/models.py:815 +msgid "Is this supplier part active?" +msgstr "" + +#: company/models.py:825 +msgid "Select manufacturer part" +msgstr "" + +#: company/models.py:832 +msgid "URL for external supplier part link" +msgstr "" + +#: company/models.py:841 +msgid "Supplier part description" +msgstr "" + +#: company/models.py:848 company/templates/company/supplier_part.html:187 +#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: report/templates/report/inventree_bill_of_materials_report.html:140 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:711 +msgid "Note" +msgstr "" + +#: company/models.py:857 part/models.py:2011 +msgid "base cost" +msgstr "" + +#: company/models.py:858 part/models.py:2012 +msgid "Minimum charge (e.g. stocking fee)" +msgstr "" + +#: company/models.py:865 company/templates/company/supplier_part.html:160 +#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/templates/stock/item_base.html:240 +#: templates/js/translated/company.js:1646 +#: templates/js/translated/stock.js:2424 +msgid "Packaging" +msgstr "" + +#: company/models.py:866 +msgid "Part packaging" +msgstr "" + +#: company/models.py:871 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 +msgid "Pack Quantity" +msgstr "" + +#: company/models.py:873 +msgid "Total quantity supplied in a single pack. Leave empty for single items." +msgstr "" + +#: company/models.py:892 part/models.py:2018 +msgid "multiple" +msgstr "" + +#: company/models.py:893 +msgid "Order multiple" +msgstr "" + +#: company/models.py:905 +msgid "Quantity available from supplier" +msgstr "" + +#: company/models.py:911 +msgid "Availability Updated" +msgstr "" + +#: company/models.py:912 +msgid "Date of last update of availability data" +msgstr "" + +#: company/serializers.py:164 +msgid "Default currency used for this supplier" +msgstr "" + +#: company/serializers.py:382 part/admin.py:126 +#: part/templates/part/part_base.html:197 +#: templates/js/translated/company.js:1689 +#: templates/js/translated/table_filters.js:355 +msgid "In Stock" +msgstr "" + +#: company/templates/company/company_base.html:16 +#: part/templates/part/part_base.html:146 +#: templates/js/translated/company.js:1287 +#: templates/js/translated/company.js:1575 +#: templates/js/translated/model_renderers.js:312 +#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +msgid "Inactive" +msgstr "" + +#: company/templates/company/company_base.html:27 +#: templates/js/translated/purchase_order.js:242 +msgid "Create Purchase Order" +msgstr "" + +#: company/templates/company/company_base.html:33 +msgid "Company actions" +msgstr "" + +#: company/templates/company/company_base.html:38 +msgid "Edit company information" +msgstr "" + +#: company/templates/company/company_base.html:39 +#: templates/js/translated/company.js:445 +msgid "Edit Company" +msgstr "" + +#: company/templates/company/company_base.html:43 +msgid "Delete company" +msgstr "" + +#: company/templates/company/company_base.html:44 +#: company/templates/company/company_base.html:168 +msgid "Delete Company" +msgstr "" + +#: company/templates/company/company_base.html:53 +#: company/templates/company/manufacturer_part.html:51 +#: company/templates/company/supplier_part.html:83 +#: part/templates/part/part_thumb.html:20 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 +msgid "Part image" +msgstr "" + +#: company/templates/company/company_base.html:61 +#: part/templates/part/part_thumb.html:12 +msgid "Upload new image" +msgstr "" + +#: company/templates/company/company_base.html:64 +#: part/templates/part/part_thumb.html:14 +msgid "Download image from URL" +msgstr "" + +#: company/templates/company/company_base.html:66 +#: part/templates/part/part_thumb.html:16 +msgid "Delete image" +msgstr "" + +#: company/templates/company/company_base.html:92 order/models.py:940 +#: order/models.py:2068 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:821 +#: stock/models.py:822 stock/serializers.py:1232 +#: stock/templates/stock/item_base.html:405 +#: templates/email/overdue_sales_order.html:16 +#: templates/js/translated/company.js:503 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 +#: templates/js/translated/table_filters.js:808 +msgid "Customer" +msgstr "" + +#: company/templates/company/company_base.html:117 +msgid "Uses default currency" +msgstr "" + +#: company/templates/company/company_base.html:124 order/models.py:353 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "" + +#: company/templates/company/company_base.html:131 +msgid "Phone" +msgstr "" + +#: company/templates/company/company_base.html:211 +#: part/templates/part/part_base.html:527 +msgid "Remove Image" +msgstr "" + +#: company/templates/company/company_base.html:212 +msgid "Remove associated image from this company" +msgstr "" + +#: company/templates/company/company_base.html:214 +#: part/templates/part/part_base.html:530 +#: templates/InvenTree/settings/user.html:88 +#: templates/InvenTree/settings/user_sso.html:43 +msgid "Remove" +msgstr "" + +#: company/templates/company/company_base.html:243 +#: part/templates/part/part_base.html:559 +msgid "Upload Image" +msgstr "" + +#: company/templates/company/company_base.html:258 +#: part/templates/part/part_base.html:613 +msgid "Download Image" +msgstr "" + +#: company/templates/company/detail.html:15 +#: company/templates/company/manufacturer_part_sidebar.html:7 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 +msgid "Supplier Parts" +msgstr "" + +#: company/templates/company/detail.html:19 +msgid "Create new supplier part" +msgstr "" + +#: company/templates/company/detail.html:20 +#: company/templates/company/manufacturer_part.html:123 +#: part/templates/part/detail.html:356 +msgid "New Supplier Part" +msgstr "" + +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 +msgid "Manufacturer Parts" +msgstr "" + +#: company/templates/company/detail.html:45 +msgid "Create new manufacturer part" +msgstr "" + +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 +msgid "New Manufacturer Part" +msgstr "" + +#: company/templates/company/detail.html:65 +msgid "Supplier Stock" +msgstr "" + +#: company/templates/company/detail.html:75 +#: company/templates/company/sidebar.html:12 +#: company/templates/company/supplier_part_sidebar.html:7 +#: order/templates/order/order_base.html:13 +#: order/templates/order/purchase_orders.html:8 +#: order/templates/order/purchase_orders.html:12 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 +#: templates/InvenTree/settings/sidebar.html:57 +#: templates/js/translated/search.js:205 templates/navbar.html:50 +#: users/models.py:208 +msgid "Purchase Orders" +msgstr "" + +#: company/templates/company/detail.html:79 +#: order/templates/order/purchase_orders.html:17 +msgid "Create new purchase order" +msgstr "" + +#: company/templates/company/detail.html:80 +#: order/templates/order/purchase_orders.html:18 +msgid "New Purchase Order" +msgstr "" + +#: company/templates/company/detail.html:101 +#: company/templates/company/sidebar.html:21 +#: order/templates/order/sales_order_base.html:13 +#: order/templates/order/sales_orders.html:8 +#: order/templates/order/sales_orders.html:15 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 +#: templates/InvenTree/settings/sidebar.html:59 +#: templates/js/translated/search.js:219 templates/navbar.html:62 +#: users/models.py:209 +msgid "Sales Orders" +msgstr "" + +#: company/templates/company/detail.html:105 +#: order/templates/order/sales_orders.html:20 +msgid "Create new sales order" +msgstr "" + +#: company/templates/company/detail.html:106 +#: order/templates/order/sales_orders.html:21 +msgid "New Sales Order" +msgstr "" + +#: company/templates/company/detail.html:126 +msgid "Assigned Stock" +msgstr "" + +#: company/templates/company/detail.html:142 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:61 +#: templates/js/translated/search.js:232 templates/navbar.html:65 +#: users/models.py:210 +msgid "Return Orders" +msgstr "" + +#: company/templates/company/detail.html:146 +#: order/templates/order/return_orders.html:20 +msgid "Create new return order" +msgstr "" + +#: company/templates/company/detail.html:147 +#: order/templates/order/return_orders.html:21 +msgid "New Return Order" +msgstr "" + +#: company/templates/company/detail.html:168 +msgid "Company Notes" +msgstr "" + +#: company/templates/company/detail.html:183 +msgid "Company Contacts" +msgstr "" + +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 +msgid "Add Contact" +msgstr "" + +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 +#: templates/InvenTree/search.html:180 templates/navbar.html:49 +msgid "Manufacturers" +msgstr "" + +#: company/templates/company/manufacturer_part.html:35 +#: company/templates/company/supplier_part.html:227 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:83 +msgid "Order part" +msgstr "" + +#: company/templates/company/manufacturer_part.html:39 +#: templates/js/translated/company.js:1343 +msgid "Edit manufacturer part" +msgstr "" + +#: company/templates/company/manufacturer_part.html:43 +#: templates/js/translated/company.js:1344 +msgid "Delete manufacturer part" +msgstr "" + +#: company/templates/company/manufacturer_part.html:65 +#: company/templates/company/supplier_part.html:97 order/api.py:458 +msgid "Internal Part" +msgstr "" + +#: company/templates/company/manufacturer_part.html:95 +msgid "No manufacturer information available" +msgstr "" + +#: company/templates/company/manufacturer_part.html:119 +#: company/templates/company/supplier_part.html:15 company/views.py:31 +#: part/admin.py:122 part/serializers.py:839 +#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 +#: templates/navbar.html:48 +msgid "Suppliers" +msgstr "" + +#: company/templates/company/manufacturer_part.html:156 +#: company/templates/company/manufacturer_part_sidebar.html:5 +#: part/templates/part/category_sidebar.html:20 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 +msgid "Parameters" +msgstr "" + +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 +#: templates/InvenTree/settings/category.html:12 +#: templates/InvenTree/settings/part_parameters.html:24 +msgid "New Parameter" +msgstr "" + +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1423 +msgid "Add Parameter" +msgstr "" + +#: company/templates/company/sidebar.html:6 +msgid "Manufactured Parts" +msgstr "" + +#: company/templates/company/sidebar.html:10 +msgid "Supplied Parts" +msgstr "" + +#: company/templates/company/sidebar.html:16 +msgid "Supplied Stock Items" +msgstr "" + +#: company/templates/company/sidebar.html:25 +msgid "Assigned Stock Items" +msgstr "" + +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "" + +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + +#: company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: templates/js/translated/company.js:1600 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2280 +msgid "Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:50 +#: templates/js/translated/company.js:1526 +msgid "Supplier part actions" +msgstr "" + +#: company/templates/company/supplier_part.html:55 +#: company/templates/company/supplier_part.html:56 +#: company/templates/company/supplier_part.html:228 +#: part/templates/part/detail.html:110 +msgid "Order Part" +msgstr "" + +#: company/templates/company/supplier_part.html:60 +#: company/templates/company/supplier_part.html:61 +msgid "Update Availability" +msgstr "" + +#: company/templates/company/supplier_part.html:63 +#: company/templates/company/supplier_part.html:64 +#: templates/js/translated/company.js:294 +msgid "Edit Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:68 +#: company/templates/company/supplier_part.html:69 +#: templates/js/translated/company.js:269 +msgid "Duplicate Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:73 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:74 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:133 +msgid "No supplier information available" +msgstr "" + +#: company/templates/company/supplier_part.html:139 part/bom.py:279 +#: part/bom.py:311 part/serializers.py:526 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 +#: templates/js/translated/pricing.js:510 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 +msgid "SKU" +msgstr "" + +#: company/templates/company/supplier_part.html:206 +msgid "Supplier Part Stock" +msgstr "" + +#: company/templates/company/supplier_part.html:209 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:838 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:69 +#: stock/serializers.py:919 stock/serializers.py:1083 +#: stock/templates/stock/location.html:170 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 +#: stock/templates/stock/location_sidebar.html:7 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "" + +#: company/views.py:44 +msgid "New Customer" +msgstr "" + +#: company/views.py:51 templates/js/translated/search.js:192 +msgid "Companies" +msgstr "" + +#: company/views.py:52 +msgid "New Company" +msgstr "" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "" + +#: machine/machine_types/label_printer.py:218 +msgid "Copies" +msgstr "" + +#: machine/machine_types/label_printer.py:219 +msgid "Number of copies to print for each label" +msgstr "" + +#: machine/machine_types/label_printer.py:234 +msgid "Connected" +msgstr "" + +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 +msgid "Unknown" +msgstr "" + +#: machine/machine_types/label_printer.py:236 +msgid "Printing" +msgstr "" + +#: machine/machine_types/label_printer.py:237 +msgid "No media" +msgstr "" + +#: machine/machine_types/label_printer.py:238 +msgid "Disconnected" +msgstr "" + +#: machine/machine_types/label_printer.py:245 +msgid "Label Printer" +msgstr "" + +#: machine/machine_types/label_printer.py:246 +msgid "Directly print labels for various items." +msgstr "" + +#: machine/machine_types/label_printer.py:252 +msgid "Printer Location" +msgstr "" + +#: machine/machine_types/label_printer.py:253 +msgid "Scope the printer to a specific location" +msgstr "" + +#: machine/models.py:25 +msgid "Name of machine" +msgstr "" + +#: machine/models.py:29 +msgid "Machine Type" +msgstr "" + +#: machine/models.py:29 +msgid "Type of machine" +msgstr "" + +#: machine/models.py:34 machine/models.py:146 +msgid "Driver" +msgstr "" + +#: machine/models.py:35 +msgid "Driver used for the machine" +msgstr "" + +#: machine/models.py:39 +msgid "Machines can be disabled" +msgstr "" + +#: machine/models.py:95 +msgid "Driver available" +msgstr "" + +#: machine/models.py:100 +msgid "No errors" +msgstr "" + +#: machine/models.py:105 +msgid "Initialized" +msgstr "" + +#: machine/models.py:110 +msgid "Errors" +msgstr "" + +#: machine/models.py:117 +msgid "Machine status" +msgstr "" + +#: machine/models.py:145 +msgid "Machine" +msgstr "" + +#: machine/models.py:151 +msgid "Machine Config" +msgstr "" + +#: machine/models.py:156 +msgid "Config type" +msgstr "" + +#: order/admin.py:30 order/models.py:89 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 +#: templates/js/translated/order.js:327 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 +msgid "Total Price" +msgstr "" + +#: order/api.py:161 order/serializers.py:92 +#: order/templates/order/order_base.html:118 +#: order/templates/order/return_order_base.html:113 +#: order/templates/order/sales_order_base.html:122 +msgid "Order Status" +msgstr "" + +#: order/api.py:165 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:779 +msgid "Has Pricing" +msgstr "" + +#: order/api.py:240 +msgid "No matching purchase order found" +msgstr "" + +#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 +#: order/models.py:1586 order/models.py:1700 order/models.py:1854 +#: order/models.py:2267 order/models.py:2318 +#: templates/js/translated/sales_order.js:1524 +msgid "Order" +msgstr "" + +#: order/api.py:441 order/api.py:838 +msgid "Order Complete" +msgstr "" + +#: order/api.py:462 +msgid "Order Pending" +msgstr "" + +#: order/api.py:1509 order/models.py:380 order/models.py:1432 +#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/templates/order/order_base.html:18 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 +#: templates/email/overdue_purchase_order.html:15 +#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/purchase_order.js:168 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 +msgid "Purchase Order" +msgstr "" + +#: order/api.py:1513 order/models.py:2017 order/models.py:2268 +#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 +msgid "Return Order" +msgstr "" + +#: order/models.py:90 +msgid "Total price for this order" +msgstr "" + +#: order/models.py:95 order/serializers.py:72 +msgid "Order Currency" +msgstr "" + +#: order/models.py:98 order/serializers.py:73 +msgid "Currency for this order (leave blank to use company default)" +msgstr "" + +#: order/models.py:247 +msgid "Contact does not match selected company" +msgstr "" + +#: order/models.py:290 +msgid "Order description (optional)" +msgstr "" + +#: order/models.py:299 +msgid "Select project code for this order" +msgstr "" + +#: order/models.py:303 order/models.py:1337 order/models.py:1753 +msgid "Link to external page" +msgstr "" + +#: order/models.py:311 +msgid "Expected date for order delivery. Order will be overdue after this date." +msgstr "" + +#: order/models.py:325 +msgid "Created By" +msgstr "" + +#: order/models.py:333 +msgid "User or group responsible for this order" +msgstr "" + +#: order/models.py:344 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:354 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:464 order/models.py:929 +msgid "Order reference" +msgstr "" + +#: order/models.py:472 order/models.py:953 +msgid "Purchase order status" +msgstr "" + +#: order/models.py:487 +msgid "Company from which the items are being ordered" +msgstr "" + +#: order/models.py:498 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 +msgid "Supplier Reference" +msgstr "" + +#: order/models.py:499 +msgid "Supplier order reference code" +msgstr "" + +#: order/models.py:508 +msgid "received by" +msgstr "" + +#: order/models.py:514 order/models.py:2094 +msgid "Issue Date" +msgstr "" + +#: order/models.py:515 order/models.py:2095 +msgid "Date order was issued" +msgstr "" + +#: order/models.py:522 order/models.py:2102 +msgid "Date order was completed" +msgstr "" + +#: order/models.py:566 +msgid "Part supplier must match PO supplier" +msgstr "" + +#: order/models.py:760 +msgid "Quantity must be a positive number" +msgstr "" + +#: order/models.py:941 +msgid "Company to which the items are being sold" +msgstr "" + +#: order/models.py:964 order/models.py:2087 +msgid "Customer Reference " +msgstr "" + +#: order/models.py:965 order/models.py:2088 +msgid "Customer order reference code" +msgstr "" + +#: order/models.py:969 order/models.py:1707 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 +msgid "Shipment Date" +msgstr "" + +#: order/models.py:978 +msgid "shipped by" +msgstr "" + +#: order/models.py:1027 +msgid "Order is already complete" +msgstr "" + +#: order/models.py:1030 +msgid "Order is already cancelled" +msgstr "" + +#: order/models.py:1034 +msgid "Only an open order can be marked as complete" +msgstr "" + +#: order/models.py:1038 +msgid "Order cannot be completed as there are incomplete shipments" +msgstr "" + +#: order/models.py:1043 +msgid "Order cannot be completed as there are incomplete line items" +msgstr "" + +#: order/models.py:1309 +msgid "Item quantity" +msgstr "" + +#: order/models.py:1326 +msgid "Line item reference" +msgstr "" + +#: order/models.py:1333 +msgid "Line item notes" +msgstr "" + +#: order/models.py:1345 +msgid "Target date for this line item (leave blank to use the target date from the order)" +msgstr "" + +#: order/models.py:1366 +msgid "Line item description (optional)" +msgstr "" + +#: order/models.py:1372 +msgid "Context" +msgstr "" + +#: order/models.py:1373 +msgid "Additional context for this line" +msgstr "" + +#: order/models.py:1383 +msgid "Unit price" +msgstr "" + +#: order/models.py:1416 +msgid "Supplier part must match supplier" +msgstr "" + +#: order/models.py:1423 +msgid "deleted" +msgstr "" + +#: order/models.py:1451 +msgid "Supplier part" +msgstr "" + +#: order/models.py:1458 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:602 +msgid "Received" +msgstr "" + +#: order/models.py:1459 +msgid "Number of items received" +msgstr "" + +#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: stock/templates/stock/item_base.html:183 +#: templates/js/translated/stock.js:2311 +msgid "Purchase Price" +msgstr "" + +#: order/models.py:1468 +msgid "Unit purchase price" +msgstr "" + +#: order/models.py:1483 +msgid "Where does the Purchaser want this item to be stored?" +msgstr "" + +#: order/models.py:1574 +msgid "Virtual part cannot be assigned to a sales order" +msgstr "" + +#: order/models.py:1579 +msgid "Only salable parts can be assigned to a sales order" +msgstr "" + +#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 +msgid "Sale Price" +msgstr "" + +#: order/models.py:1606 +msgid "Unit sale price" +msgstr "" + +#: order/models.py:1615 order/status_codes.py:43 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 +msgid "Shipped" +msgstr "" + +#: order/models.py:1616 +msgid "Shipped quantity" +msgstr "" + +#: order/models.py:1708 +msgid "Date of shipment" +msgstr "" + +#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +msgid "Delivery Date" +msgstr "" + +#: order/models.py:1715 +msgid "Date of delivery of shipment" +msgstr "" + +#: order/models.py:1723 +msgid "Checked By" +msgstr "" + +#: order/models.py:1724 +msgid "User who checked this shipment" +msgstr "" + +#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 +msgid "Shipment" +msgstr "" + +#: order/models.py:1732 +msgid "Shipment number" +msgstr "" + +#: order/models.py:1740 +msgid "Tracking Number" +msgstr "" + +#: order/models.py:1741 +msgid "Shipment tracking information" +msgstr "" + +#: order/models.py:1748 +msgid "Invoice Number" +msgstr "" + +#: order/models.py:1749 +msgid "Reference number for associated invoice" +msgstr "" + +#: order/models.py:1769 +msgid "Shipment has already been sent" +msgstr "" + +#: order/models.py:1772 +msgid "Shipment has no allocated stock items" +msgstr "" + +#: order/models.py:1890 order/models.py:1892 +msgid "Stock item has not been assigned" +msgstr "" + +#: order/models.py:1899 +msgid "Cannot allocate stock item to a line with a different part" +msgstr "" + +#: order/models.py:1902 +msgid "Cannot allocate stock to a line without a part" +msgstr "" + +#: order/models.py:1905 +msgid "Allocation quantity cannot exceed stock quantity" +msgstr "" + +#: order/models.py:1924 order/serializers.py:1232 +msgid "Quantity must be 1 for serialized stock item" +msgstr "" + +#: order/models.py:1927 +msgid "Sales order does not match shipment" +msgstr "" + +#: order/models.py:1928 plugin/base/barcodes/api.py:481 +msgid "Shipment does not match sales order" +msgstr "" + +#: order/models.py:1936 +msgid "Line" +msgstr "" + +#: order/models.py:1945 +msgid "Sales order shipment reference" +msgstr "" + +#: order/models.py:1958 order/models.py:2275 +#: templates/js/translated/return_order.js:721 +msgid "Item" +msgstr "" + +#: order/models.py:1959 +msgid "Select stock item to allocate" +msgstr "" + +#: order/models.py:1968 +msgid "Enter stock allocation quantity" +msgstr "" + +#: order/models.py:2057 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:2069 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:2081 +msgid "Return order status" +msgstr "" + +#: order/models.py:2260 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:2276 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:2282 +msgid "Received Date" +msgstr "" + +#: order/models.py:2283 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: templates/js/translated/table_filters.js:123 +msgid "Outcome" +msgstr "" + +#: order/models.py:2295 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:2302 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:81 order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 +#: order/templates/order/so_sidebar.html:5 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 +msgid "Line Items" +msgstr "" + +#: order/serializers.py:85 +msgid "Completed Lines" +msgstr "" + +#: order/serializers.py:288 +msgid "Order cannot be cancelled" +msgstr "" + +#: order/serializers.py:303 order/serializers.py:1248 +msgid "Allow order to be closed with incomplete line items" +msgstr "" + +#: order/serializers.py:313 order/serializers.py:1258 +msgid "Order has incomplete line items" +msgstr "" + +#: order/serializers.py:441 +msgid "Order is not open" +msgstr "" + +#: order/serializers.py:462 +msgid "Auto Pricing" +msgstr "" + +#: order/serializers.py:464 +msgid "Automatically calculate purchase price based on supplier part data" +msgstr "" + +#: order/serializers.py:474 +msgid "Purchase price currency" +msgstr "" + +#: order/serializers.py:480 +msgid "Merge Items" +msgstr "" + +#: order/serializers.py:482 +msgid "Merge items with the same part, destination and target date into one line item" +msgstr "" + +#: order/serializers.py:500 +msgid "Supplier part must be specified" +msgstr "" + +#: order/serializers.py:503 +msgid "Purchase order must be specified" +msgstr "" + +#: order/serializers.py:511 +msgid "Supplier must match purchase order" +msgstr "" + +#: order/serializers.py:512 +msgid "Purchase order must match supplier" +msgstr "" + +#: order/serializers.py:551 order/serializers.py:1326 +msgid "Line Item" +msgstr "" + +#: order/serializers.py:557 +msgid "Line item does not match purchase order" +msgstr "" + +#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681 +msgid "Select destination location for received items" +msgstr "" + +#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130 +msgid "Enter batch code for incoming stock items" +msgstr "" + +#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154 +msgid "Enter serial numbers for incoming stock items" +msgstr "" + +#: order/serializers.py:602 templates/js/translated/barcode.js:52 +msgid "Barcode" +msgstr "" + +#: order/serializers.py:603 +msgid "Scanned barcode" +msgstr "" + +#: order/serializers.py:619 +msgid "Barcode is already in use" +msgstr "" + +#: order/serializers.py:643 +msgid "An integer quantity must be provided for trackable parts" +msgstr "" + +#: order/serializers.py:691 order/serializers.py:1697 +msgid "Line items must be provided" +msgstr "" + +#: order/serializers.py:707 +msgid "Destination location must be specified" +msgstr "" + +#: order/serializers.py:718 +msgid "Supplied barcode values must be unique" +msgstr "" + +#: order/serializers.py:1075 +msgid "Sale price currency" +msgstr "" + +#: order/serializers.py:1135 +msgid "No shipment details provided" +msgstr "" + +#: order/serializers.py:1196 order/serializers.py:1335 +msgid "Line item is not associated with this order" +msgstr "" + +#: order/serializers.py:1215 +msgid "Quantity must be positive" +msgstr "" + +#: order/serializers.py:1345 +msgid "Enter serial numbers to allocate" +msgstr "" + +#: order/serializers.py:1367 order/serializers.py:1473 +msgid "Shipment has already been shipped" +msgstr "" + +#: order/serializers.py:1370 order/serializers.py:1476 +msgid "Shipment is not associated with this order" +msgstr "" + +#: order/serializers.py:1417 +msgid "No match found for the following serial numbers" +msgstr "" + +#: order/serializers.py:1424 +msgid "The following serial numbers are already allocated" +msgstr "" + +#: order/serializers.py:1651 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1657 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1660 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1689 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1767 +msgid "Line price currency" +msgstr "" + +#: order/status_codes.py:16 order/status_codes.py:46 stock/status_codes.py:16 +msgid "Lost" +msgstr "" + +#: order/status_codes.py:17 order/status_codes.py:47 stock/status_codes.py:22 +msgid "Returned" +msgstr "" + +#: order/status_codes.py:40 order/status_codes.py:67 +msgid "In Progress" +msgstr "" + +#: order/status_codes.py:85 +msgid "Return" +msgstr "" + +#: order/status_codes.py:88 +msgid "Repair" +msgstr "" + +#: order/status_codes.py:91 +msgid "Replace" +msgstr "" + +#: order/status_codes.py:94 +msgid "Refund" +msgstr "" + +#: order/status_codes.py:97 +msgid "Reject" +msgstr "" + +#: order/tasks.py:25 +msgid "Overdue Purchase Order" +msgstr "" + +#: order/tasks.py:30 +#, python-brace-format +msgid "Purchase order {po} is now overdue" +msgstr "" + +#: order/tasks.py:75 +msgid "Overdue Sales Order" +msgstr "" + +#: order/tasks.py:80 +#, python-brace-format +msgid "Sales order {so} is now overdue" +msgstr "" + +#: order/templates/order/order_base.html:51 +msgid "Print purchase order report" +msgstr "" + +#: order/templates/order/order_base.html:53 +#: order/templates/order/return_order_base.html:62 +#: order/templates/order/sales_order_base.html:62 +msgid "Export order to file" +msgstr "" + +#: order/templates/order/order_base.html:59 +#: order/templates/order/return_order_base.html:72 +#: order/templates/order/sales_order_base.html:71 +msgid "Order actions" +msgstr "" + +#: order/templates/order/order_base.html:64 +#: order/templates/order/return_order_base.html:76 +#: order/templates/order/sales_order_base.html:75 +msgid "Edit order" +msgstr "" + +#: order/templates/order/order_base.html:68 +#: order/templates/order/return_order_base.html:78 +#: order/templates/order/sales_order_base.html:77 +msgid "Cancel order" +msgstr "" + +#: order/templates/order/order_base.html:73 +msgid "Duplicate order" +msgstr "" + +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_base.html:80 +#: order/templates/order/return_order_base.html:82 +#: order/templates/order/return_order_base.html:83 +#: order/templates/order/sales_order_base.html:83 +#: order/templates/order/sales_order_base.html:84 +msgid "Issue Order" +msgstr "" + +#: order/templates/order/order_base.html:83 +#: order/templates/order/return_order_base.html:86 +msgid "Mark order as complete" +msgstr "" + +#: order/templates/order/order_base.html:84 +#: order/templates/order/return_order_base.html:87 +#: order/templates/order/sales_order_base.html:97 +msgid "Complete Order" +msgstr "" + +#: order/templates/order/order_base.html:91 +msgid "Supplier part thumbnail" +msgstr "" + +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:101 +#: order/templates/order/sales_order_base.html:110 +msgid "Order Reference" +msgstr "" + +#: order/templates/order/order_base.html:111 +#: order/templates/order/return_order_base.html:106 +#: order/templates/order/sales_order_base.html:115 +msgid "Order Description" +msgstr "" + +#: order/templates/order/order_base.html:141 +msgid "No suppplier information available" +msgstr "" + +#: order/templates/order/order_base.html:154 +#: order/templates/order/sales_order_base.html:161 +msgid "Completed Line Items" +msgstr "" + +#: order/templates/order/order_base.html:160 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 +msgid "Incomplete" +msgstr "" + +#: order/templates/order/order_base.html:179 +#: order/templates/order/return_order_base.html:157 +#: report/templates/report/inventree_build_order_report.html:121 +msgid "Issued" +msgstr "" + +#: order/templates/order/order_base.html:224 +msgid "Total cost" +msgstr "" + +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:199 +#: order/templates/order/sales_order_base.html:243 +msgid "Total cost could not be calculated" +msgstr "" + +#: order/templates/order/order_base.html:314 +msgid "Purchase Order QR Code" +msgstr "" + +#: order/templates/order/order_base.html:326 +msgid "Link Barcode to Purchase Order" +msgstr "" + +#: order/templates/order/order_wizard/match_fields.html:9 +#: part/templates/part/import_wizard/ajax_match_fields.html:9 +#: part/templates/part/import_wizard/match_fields.html:9 +#: templates/patterns/wizard/match_fields.html:8 +msgid "Missing selections for the following required columns" +msgstr "" + +#: order/templates/order/order_wizard/match_fields.html:20 +#: part/templates/part/import_wizard/ajax_match_fields.html:20 +#: part/templates/part/import_wizard/match_fields.html:20 +#: templates/patterns/wizard/match_fields.html:19 +msgid "Duplicate selections found, see below. Fix them then retry submitting." +msgstr "" + +#: order/templates/order/order_wizard/match_fields.html:29 +#: order/templates/order/order_wizard/match_parts.html:21 +#: part/templates/part/import_wizard/match_fields.html:29 +#: part/templates/part/import_wizard/match_references.html:21 +#: templates/patterns/wizard/match_fields.html:28 +msgid "Submit Selections" +msgstr "" + +#: order/templates/order/order_wizard/match_fields.html:35 +#: part/templates/part/import_wizard/ajax_match_fields.html:28 +#: part/templates/part/import_wizard/match_fields.html:35 +#: templates/patterns/wizard/match_fields.html:34 +msgid "File Fields" +msgstr "" + +#: order/templates/order/order_wizard/match_fields.html:42 +#: part/templates/part/import_wizard/ajax_match_fields.html:35 +#: part/templates/part/import_wizard/match_fields.html:42 +#: templates/patterns/wizard/match_fields.html:41 +msgid "Remove column" +msgstr "" + +#: order/templates/order/order_wizard/match_fields.html:60 +#: part/templates/part/import_wizard/ajax_match_fields.html:53 +#: part/templates/part/import_wizard/match_fields.html:60 +#: templates/patterns/wizard/match_fields.html:59 +msgid "Duplicate selection" +msgstr "" + +#: order/templates/order/order_wizard/match_fields.html:71 +#: order/templates/order/order_wizard/match_parts.html:52 +#: part/templates/part/import_wizard/ajax_match_fields.html:64 +#: part/templates/part/import_wizard/ajax_match_references.html:42 +#: part/templates/part/import_wizard/match_fields.html:71 +#: part/templates/part/import_wizard/match_references.html:49 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 +#: templates/js/translated/build.js:1629 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 +#: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 +#: templates/patterns/wizard/match_fields.html:70 +msgid "Remove row" +msgstr "" + +#: order/templates/order/order_wizard/match_parts.html:12 +#: part/templates/part/import_wizard/ajax_match_references.html:12 +#: part/templates/part/import_wizard/match_references.html:12 +msgid "Errors exist in the submitted data" +msgstr "" + +#: order/templates/order/order_wizard/match_parts.html:28 +#: part/templates/part/import_wizard/ajax_match_references.html:21 +#: part/templates/part/import_wizard/match_references.html:28 +msgid "Row" +msgstr "" + +#: order/templates/order/order_wizard/match_parts.html:29 +msgid "Select Supplier Part" +msgstr "" + +#: order/templates/order/order_wizard/po_upload.html:8 +msgid "Return to Orders" +msgstr "" + +#: order/templates/order/order_wizard/po_upload.html:13 +msgid "Upload File for Purchase Order" +msgstr "" + +#: order/templates/order/order_wizard/po_upload.html:14 +msgid "Order is already processed. Files cannot be uploaded." +msgstr "" + +#: order/templates/order/order_wizard/po_upload.html:27 +#: part/templates/part/import_wizard/ajax_part_upload.html:10 +#: part/templates/part/import_wizard/part_upload.html:26 +#: templates/patterns/wizard/upload.html:13 +#, python-format +msgid "Step %(step)s of %(count)s" +msgstr "" + +#: order/templates/order/po_sidebar.html:7 +msgid "Received Stock" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:18 +msgid "Purchase Order Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:27 +#: order/templates/order/return_order_detail.html:24 +#: order/templates/order/sales_order_detail.html:24 +#: templates/js/translated/purchase_order.js:414 +#: templates/js/translated/return_order.js:458 +#: templates/js/translated/sales_order.js:237 +msgid "Add Line Item" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:31 +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 +msgid "Extra Lines" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 +msgid "Add Extra Line" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:74 +msgid "Received Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 +msgid "Order Notes" +msgstr "" + +#: order/templates/order/return_order_base.html:18 +#: order/templates/order/sales_order_base.html:18 +msgid "Customer logo thumbnail" +msgstr "" + +#: order/templates/order/return_order_base.html:60 +msgid "Print return order report" +msgstr "" + +#: order/templates/order/return_order_base.html:64 +#: order/templates/order/sales_order_base.html:64 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/return_order_base.html:138 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 +msgid "Customer Reference" +msgstr "" + +#: order/templates/order/return_order_base.html:195 +#: order/templates/order/sales_order_base.html:239 +#: part/templates/part/part_pricing.html:32 +#: part/templates/part/part_pricing.html:58 +#: part/templates/part/part_pricing.html:99 +#: part/templates/part/part_pricing.html:114 +#: templates/js/translated/part.js:1073 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 +msgid "Total Cost" +msgstr "" + +#: order/templates/order/return_order_base.html:259 +msgid "Return Order QR Code" +msgstr "" + +#: order/templates/order/return_order_base.html:271 +msgid "Link Barcode to Return Order" +msgstr "" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" +msgstr "" + +#: order/templates/order/sales_order_base.html:60 +msgid "Print sales order report" +msgstr "" + +#: order/templates/order/sales_order_base.html:88 +#: order/templates/order/sales_order_base.html:89 +msgid "Ship Items" +msgstr "" + +#: order/templates/order/sales_order_base.html:92 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 +msgid "Complete Sales Order" +msgstr "" + +#: order/templates/order/sales_order_base.html:135 +msgid "This Sales Order has not been fully allocated" +msgstr "" + +#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_detail.html:99 +#: order/templates/order/so_sidebar.html:11 +msgid "Completed Shipments" +msgstr "" + +#: order/templates/order/sales_order_base.html:321 +msgid "Sales Order QR Code" +msgstr "" + +#: order/templates/order/sales_order_base.html:333 +msgid "Link Barcode to Sales Order" +msgstr "" + +#: order/templates/order/sales_order_detail.html:18 +msgid "Sales Order Items" +msgstr "" + +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 +msgid "Pending Shipments" +msgstr "" + +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1277 templates/js/translated/filters.js:296 +msgid "Actions" +msgstr "" + +#: order/templates/order/sales_order_detail.html:80 +msgid "New Shipment" +msgstr "" + +#: order/views.py:120 +msgid "Match Supplier Parts" +msgstr "" + +#: order/views.py:406 +msgid "Sales order not found" +msgstr "" + +#: order/views.py:412 +msgid "Price not found" +msgstr "" + +#: order/views.py:415 +#, python-brace-format +msgid "Updated {part} unit-price to {price}" +msgstr "" + +#: order/views.py:421 +#, python-brace-format +msgid "Updated {part} unit-price to {price} and quantity to {qty}" +msgstr "" + +#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: stock/admin.py:153 +msgid "Part ID" +msgstr "" + +#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: stock/admin.py:157 +msgid "Part Name" +msgstr "" + +#: part/admin.py:45 part/stocktake.py:221 +msgid "Part Description" +msgstr "" + +#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/stock.js:2036 +msgid "IPN" +msgstr "" + +#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1232 +#: templates/js/translated/part.js:2347 +msgid "Revision" +msgstr "" + +#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/templates/part/category.html:94 part/templates/part/part_base.html:298 +msgid "Keywords" +msgstr "" + +#: part/admin.py:60 +msgid "Part Image" +msgstr "" + +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 +msgid "Category ID" +msgstr "" + +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +msgid "Category Name" +msgstr "" + +#: part/admin.py:71 part/admin.py:316 +msgid "Default Location ID" +msgstr "" + +#: part/admin.py:76 +msgid "Default Supplier ID" +msgstr "" + +#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +msgid "Variant Of" +msgstr "" + +#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +msgid "Minimum Stock" +msgstr "" + +#: part/admin.py:138 part/templates/part/part_sidebar.html:27 +msgid "Used In" +msgstr "" + +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +msgid "Building" +msgstr "" + +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: templates/js/translated/part.js:970 +msgid "Minimum Cost" +msgstr "" + +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: templates/js/translated/part.js:980 +msgid "Maximum Cost" +msgstr "" + +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 +msgid "Parent ID" +msgstr "" + +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 +msgid "Parent Name" +msgstr "" + +#: part/admin.py:320 part/templates/part/category.html:88 +#: part/templates/part/category.html:101 +msgid "Category Path" +msgstr "" + +#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/serializers.py:274 part/serializers.py:393 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:141 part/templates/part/category.html:161 +#: part/templates/part/category_sidebar.html:9 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 +#: templates/InvenTree/settings/sidebar.html:47 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/navbar.html:24 users/models.py:203 +msgid "Parts" +msgstr "" + +#: part/admin.py:386 +msgid "BOM Level" +msgstr "" + +#: part/admin.py:389 +msgid "BOM Item ID" +msgstr "" + +#: part/admin.py:399 +msgid "Parent IPN" +msgstr "" + +#: part/admin.py:410 part/models.py:3992 +msgid "Part IPN" +msgstr "" + +#: part/admin.py:423 part/serializers.py:1281 +#: templates/js/translated/pricing.js:358 +#: templates/js/translated/pricing.js:1024 +msgid "Minimum Price" +msgstr "" + +#: part/admin.py:428 part/serializers.py:1296 +#: templates/js/translated/pricing.js:353 +#: templates/js/translated/pricing.js:1032 +msgid "Maximum Price" +msgstr "" + +#: part/api.py:110 +msgid "Starred" +msgstr "" + +#: part/api.py:112 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:129 stock/api.py:318 +msgid "Depth" +msgstr "" + +#: part/api.py:129 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:147 stock/api.py:336 +msgid "Cascade" +msgstr "" + +#: part/api.py:149 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:169 templates/js/translated/part.js:308 +msgid "Parent" +msgstr "" + +#: part/api.py:171 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:204 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:206 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 +msgid "Incoming Purchase Order" +msgstr "" + +#: part/api.py:640 +msgid "Outgoing Sales Order" +msgstr "" + +#: part/api.py:656 +msgid "Stock produced by Build Order" +msgstr "" + +#: part/api.py:740 +msgid "Stock required for Build Order" +msgstr "" + +#: part/api.py:887 +msgid "Valid" +msgstr "" + +#: part/api.py:888 +msgid "Validate entire Bill of Materials" +msgstr "" + +#: part/api.py:894 +msgid "This option must be selected" +msgstr "" + +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/serializers.py:408 part/serializers.py:1137 +#: part/templates/part/part_base.html:260 stock/api.py:781 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "" + +#: part/api.py:1802 +msgid "Uses" +msgstr "" + +#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/templates/part/category.html:116 part/templates/part/part_base.html:367 +msgid "Default Location" +msgstr "" + +#: part/bom.py:171 part/serializers.py:840 +#: templates/email/low_stock_notification.html:16 +msgid "Total Stock" +msgstr "" + +#: part/forms.py:49 +msgid "Input quantity for price calculation" +msgstr "" + +#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/templates/part/part_app_base.html:10 +msgid "Part Category" +msgstr "" + +#: part/models.py:85 part/templates/part/category.html:136 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 +#: users/models.py:202 +msgid "Part Categories" +msgstr "" + +#: part/models.py:104 +msgid "Default location for parts in this category" +msgstr "" + +#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: templates/js/translated/stock.js:2772 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:283 +msgid "Structural" +msgstr "" + +#: part/models.py:111 +msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." +msgstr "" + +#: part/models.py:120 +msgid "Default keywords" +msgstr "" + +#: part/models.py:121 +msgid "Default keywords for parts in this category" +msgstr "" + +#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: templates/InvenTree/settings/settings_staff_js.html:456 +msgid "Icon" +msgstr "" + +#: part/models.py:128 stock/models.py:157 +msgid "Icon (optional)" +msgstr "" + +#: part/models.py:150 +msgid "You cannot make this part category structural because some parts are already assigned to it!" +msgstr "" + +#: part/models.py:483 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:490 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:528 +msgid "Invalid choice for parent part" +msgstr "" + +#: part/models.py:576 part/models.py:583 +#, python-brace-format +msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" +msgstr "" + +#: part/models.py:595 +#, python-brace-format +msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" +msgstr "" + +#: part/models.py:660 +#, python-brace-format +msgid "IPN must match regex pattern {pattern}" +msgstr "" + +#: part/models.py:740 +msgid "Stock item with this serial number already exists" +msgstr "" + +#: part/models.py:845 +msgid "Duplicate IPN not allowed in part settings" +msgstr "" + +#: part/models.py:855 +msgid "Part with this Name, IPN and Revision already exists." +msgstr "" + +#: part/models.py:870 +msgid "Parts cannot be assigned to structural part categories!" +msgstr "" + +#: part/models.py:899 part/models.py:3991 +msgid "Part name" +msgstr "" + +#: part/models.py:904 +msgid "Is Template" +msgstr "" + +#: part/models.py:905 +msgid "Is this part a template part?" +msgstr "" + +#: part/models.py:915 +msgid "Is this part a variant of another part?" +msgstr "" + +#: part/models.py:923 +msgid "Part description (optional)" +msgstr "" + +#: part/models.py:931 +msgid "Part keywords to improve visibility in search results" +msgstr "" + +#: part/models.py:941 +msgid "Part category" +msgstr "" + +#: part/models.py:949 +msgid "Internal Part Number" +msgstr "" + +#: part/models.py:956 +msgid "Part revision or version number" +msgstr "" + +#: part/models.py:981 +msgid "Where is this item normally stored?" +msgstr "" + +#: part/models.py:1027 part/templates/part/part_base.html:376 +msgid "Default Supplier" +msgstr "" + +#: part/models.py:1028 +msgid "Default supplier part" +msgstr "" + +#: part/models.py:1035 +msgid "Default Expiry" +msgstr "" + +#: part/models.py:1036 +msgid "Expiry time (in days) for stock items of this part" +msgstr "" + +#: part/models.py:1045 +msgid "Minimum allowed stock level" +msgstr "" + +#: part/models.py:1054 +msgid "Units of measure for this part" +msgstr "" + +#: part/models.py:1061 +msgid "Can this part be built from other parts?" +msgstr "" + +#: part/models.py:1067 +msgid "Can this part be used to build other parts?" +msgstr "" + +#: part/models.py:1073 +msgid "Does this part have tracking for unique items?" +msgstr "" + +#: part/models.py:1079 +msgid "Can this part be purchased from external suppliers?" +msgstr "" + +#: part/models.py:1085 +msgid "Can this part be sold to customers?" +msgstr "" + +#: part/models.py:1089 +msgid "Is this part active?" +msgstr "" + +#: part/models.py:1095 +msgid "Is this a virtual part, such as a software product or license?" +msgstr "" + +#: part/models.py:1101 +msgid "BOM checksum" +msgstr "" + +#: part/models.py:1102 +msgid "Stored BOM checksum" +msgstr "" + +#: part/models.py:1110 +msgid "BOM checked by" +msgstr "" + +#: part/models.py:1115 +msgid "BOM checked date" +msgstr "" + +#: part/models.py:1131 +msgid "Creation User" +msgstr "" + +#: part/models.py:1141 +msgid "Owner responsible for this part" +msgstr "" + +#: part/models.py:1146 part/templates/part/part_base.html:339 +#: stock/templates/stock/item_base.html:451 +#: templates/js/translated/part.js:2471 +msgid "Last Stocktake" +msgstr "" + +#: part/models.py:2019 +msgid "Sell multiple" +msgstr "" + +#: part/models.py:3028 +msgid "Currency used to cache pricing calculations" +msgstr "" + +#: part/models.py:3044 +msgid "Minimum BOM Cost" +msgstr "" + +#: part/models.py:3045 +msgid "Minimum cost of component parts" +msgstr "" + +#: part/models.py:3051 +msgid "Maximum BOM Cost" +msgstr "" + +#: part/models.py:3052 +msgid "Maximum cost of component parts" +msgstr "" + +#: part/models.py:3058 +msgid "Minimum Purchase Cost" +msgstr "" + +#: part/models.py:3059 +msgid "Minimum historical purchase cost" +msgstr "" + +#: part/models.py:3065 +msgid "Maximum Purchase Cost" +msgstr "" + +#: part/models.py:3066 +msgid "Maximum historical purchase cost" +msgstr "" + +#: part/models.py:3072 +msgid "Minimum Internal Price" +msgstr "" + +#: part/models.py:3073 +msgid "Minimum cost based on internal price breaks" +msgstr "" + +#: part/models.py:3079 +msgid "Maximum Internal Price" +msgstr "" + +#: part/models.py:3080 +msgid "Maximum cost based on internal price breaks" +msgstr "" + +#: part/models.py:3086 +msgid "Minimum Supplier Price" +msgstr "" + +#: part/models.py:3087 +msgid "Minimum price of part from external suppliers" +msgstr "" + +#: part/models.py:3093 +msgid "Maximum Supplier Price" +msgstr "" + +#: part/models.py:3094 +msgid "Maximum price of part from external suppliers" +msgstr "" + +#: part/models.py:3100 +msgid "Minimum Variant Cost" +msgstr "" + +#: part/models.py:3101 +msgid "Calculated minimum cost of variant parts" +msgstr "" + +#: part/models.py:3107 +msgid "Maximum Variant Cost" +msgstr "" + +#: part/models.py:3108 +msgid "Calculated maximum cost of variant parts" +msgstr "" + +#: part/models.py:3115 +msgid "Override minimum cost" +msgstr "" + +#: part/models.py:3122 +msgid "Override maximum cost" +msgstr "" + +#: part/models.py:3129 +msgid "Calculated overall minimum cost" +msgstr "" + +#: part/models.py:3136 +msgid "Calculated overall maximum cost" +msgstr "" + +#: part/models.py:3142 +msgid "Minimum Sale Price" +msgstr "" + +#: part/models.py:3143 +msgid "Minimum sale price based on price breaks" +msgstr "" + +#: part/models.py:3149 +msgid "Maximum Sale Price" +msgstr "" + +#: part/models.py:3150 +msgid "Maximum sale price based on price breaks" +msgstr "" + +#: part/models.py:3156 +msgid "Minimum Sale Cost" +msgstr "" + +#: part/models.py:3157 +msgid "Minimum historical sale price" +msgstr "" + +#: part/models.py:3163 +msgid "Maximum Sale Cost" +msgstr "" + +#: part/models.py:3164 +msgid "Maximum historical sale price" +msgstr "" + +#: part/models.py:3183 +msgid "Part for stocktake" +msgstr "" + +#: part/models.py:3188 +msgid "Item Count" +msgstr "" + +#: part/models.py:3189 +msgid "Number of individual stock entries at time of stocktake" +msgstr "" + +#: part/models.py:3197 +msgid "Total available stock at time of stocktake" +msgstr "" + +#: part/models.py:3201 part/models.py:3284 +#: part/templates/part/part_scheduling.html:13 +#: report/templates/report/inventree_test_report.html:106 +#: templates/InvenTree/settings/plugin_settings.html:37 +#: templates/InvenTree/settings/settings_staff_js.html:540 +#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/pricing.js:950 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 +msgid "Date" +msgstr "" + +#: part/models.py:3202 +msgid "Date stocktake was performed" +msgstr "" + +#: part/models.py:3210 +msgid "Additional notes" +msgstr "" + +#: part/models.py:3220 +msgid "User who performed this stocktake" +msgstr "" + +#: part/models.py:3226 +msgid "Minimum Stock Cost" +msgstr "" + +#: part/models.py:3227 +msgid "Estimated minimum cost of stock on hand" +msgstr "" + +#: part/models.py:3233 +msgid "Maximum Stock Cost" +msgstr "" + +#: part/models.py:3234 +msgid "Estimated maximum cost of stock on hand" +msgstr "" + +#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +msgid "Report" +msgstr "" + +#: part/models.py:3291 +msgid "Stocktake report file (generated internally)" +msgstr "" + +#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +msgid "Part Count" +msgstr "" + +#: part/models.py:3297 +msgid "Number of parts covered by stocktake" +msgstr "" + +#: part/models.py:3307 +msgid "User who requested this stocktake report" +msgstr "" + +#: part/models.py:3469 +msgid "Invalid template name - must include at least one alphanumeric character" +msgstr "" + +#: part/models.py:3490 part/models.py:3654 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3501 +msgid "Test templates can only be created for trackable parts" +msgstr "" + +#: part/models.py:3512 +msgid "Test template with the same key already exists for part" +msgstr "" + +#: part/models.py:3529 templates/js/translated/part.js:2880 +msgid "Test Name" +msgstr "" + +#: part/models.py:3530 +msgid "Enter a name for the test" +msgstr "" + +#: part/models.py:3536 +msgid "Test Key" +msgstr "" + +#: part/models.py:3537 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3544 +msgid "Test Description" +msgstr "" + +#: part/models.py:3545 +msgid "Enter description for this test" +msgstr "" + +#: part/models.py:3549 report/models.py:208 +#: templates/js/translated/part.js:2901 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "" + +#: part/models.py:3549 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3554 templates/js/translated/part.js:2909 +#: templates/js/translated/table_filters.js:477 +msgid "Required" +msgstr "" + +#: part/models.py:3555 +msgid "Is this test required to pass?" +msgstr "" + +#: part/models.py:3560 templates/js/translated/part.js:2917 +msgid "Requires Value" +msgstr "" + +#: part/models.py:3561 +msgid "Does this test require a value when adding a test result?" +msgstr "" + +#: part/models.py:3566 templates/js/translated/part.js:2924 +msgid "Requires Attachment" +msgstr "" + +#: part/models.py:3568 +msgid "Does this test require a file attachment when adding a test result?" +msgstr "" + +#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +msgid "Choices" +msgstr "" + +#: part/models.py:3575 +msgid "Valid choices for this test (comma-separated)" +msgstr "" + +#: part/models.py:3629 +msgid "Checkbox parameters cannot have units" +msgstr "" + +#: part/models.py:3634 +msgid "Checkbox parameters cannot have choices" +msgstr "" + +#: part/models.py:3671 +msgid "Parameter template name must be unique" +msgstr "" + +#: part/models.py:3686 +msgid "Parameter Name" +msgstr "" + +#: part/models.py:3693 +msgid "Physical units for this parameter" +msgstr "" + +#: part/models.py:3701 +msgid "Parameter description" +msgstr "" + +#: part/models.py:3707 templates/js/translated/part.js:1628 +#: templates/js/translated/table_filters.js:825 +msgid "Checkbox" +msgstr "" + +#: part/models.py:3708 +msgid "Is this parameter a checkbox?" +msgstr "" + +#: part/models.py:3714 +msgid "Valid choices for this parameter (comma-separated)" +msgstr "" + +#: part/models.py:3791 +msgid "Invalid choice for parameter value" +msgstr "" + +#: part/models.py:3834 +msgid "Parent Part" +msgstr "" + +#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: templates/InvenTree/settings/settings_staff_js.html:295 +msgid "Parameter Template" +msgstr "" + +#: part/models.py:3847 +msgid "Data" +msgstr "" + +#: part/models.py:3848 +msgid "Parameter Value" +msgstr "" + +#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +msgid "Default Value" +msgstr "" + +#: part/models.py:3951 +msgid "Default Parameter Value" +msgstr "" + +#: part/models.py:3989 +msgid "Part ID or part name" +msgstr "" + +#: part/models.py:3990 +msgid "Unique part ID value" +msgstr "" + +#: part/models.py:3992 +msgid "Part IPN value" +msgstr "" + +#: part/models.py:3993 +msgid "Level" +msgstr "" + +#: part/models.py:3993 +msgid "BOM level" +msgstr "" + +#: part/models.py:4083 +msgid "Select parent part" +msgstr "" + +#: part/models.py:4093 +msgid "Sub part" +msgstr "" + +#: part/models.py:4094 +msgid "Select part to be used in BOM" +msgstr "" + +#: part/models.py:4105 +msgid "BOM quantity for this BOM item" +msgstr "" + +#: part/models.py:4111 +msgid "This BOM item is optional" +msgstr "" + +#: part/models.py:4117 +msgid "This BOM item is consumable (it is not tracked in build orders)" +msgstr "" + +#: part/models.py:4124 part/templates/part/upload_bom.html:55 +msgid "Overage" +msgstr "" + +#: part/models.py:4125 +msgid "Estimated build wastage quantity (absolute or percentage)" +msgstr "" + +#: part/models.py:4132 +msgid "BOM item reference" +msgstr "" + +#: part/models.py:4140 +msgid "BOM item notes" +msgstr "" + +#: part/models.py:4146 +msgid "Checksum" +msgstr "" + +#: part/models.py:4147 +msgid "BOM line checksum" +msgstr "" + +#: part/models.py:4152 templates/js/translated/table_filters.js:174 +msgid "Validated" +msgstr "" + +#: part/models.py:4153 +msgid "This BOM item has been validated" +msgstr "" + +#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1054 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:211 +msgid "Gets inherited" +msgstr "" + +#: part/models.py:4159 +msgid "This BOM item is inherited by BOMs for variant parts" +msgstr "" + +#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1046 +msgid "Allow Variants" +msgstr "" + +#: part/models.py:4165 +msgid "Stock items for variant parts can be used for this BOM item" +msgstr "" + +#: part/models.py:4250 stock/models.py:664 +msgid "Quantity must be integer value for trackable parts" +msgstr "" + +#: part/models.py:4260 part/models.py:4262 +msgid "Sub part must be specified" +msgstr "" + +#: part/models.py:4402 +msgid "BOM Item Substitute" +msgstr "" + +#: part/models.py:4423 +msgid "Substitute part cannot be the same as the master part" +msgstr "" + +#: part/models.py:4436 +msgid "Parent BOM item" +msgstr "" + +#: part/models.py:4444 +msgid "Substitute part" +msgstr "" + +#: part/models.py:4460 +msgid "Part 1" +msgstr "" + +#: part/models.py:4468 +msgid "Part 2" +msgstr "" + +#: part/models.py:4469 +msgid "Select Related Part" +msgstr "" + +#: part/models.py:4488 +msgid "Part relationship cannot be created between a part and itself" +msgstr "" + +#: part/models.py:4493 +msgid "Duplicate relationship already exists" +msgstr "" + +#: part/serializers.py:120 part/serializers.py:142 +#: part/templates/part/category.html:122 part/templates/part/category.html:207 +#: part/templates/part/category_sidebar.html:7 +msgid "Subcategories" +msgstr "" + +#: part/serializers.py:187 +msgid "Results" +msgstr "" + +#: part/serializers.py:188 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +msgid "Purchase currency of this stock item" +msgstr "" + +#: part/serializers.py:275 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:399 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:409 +msgid "Select category" +msgstr "" + +#: part/serializers.py:444 +msgid "Original Part" +msgstr "" + +#: part/serializers.py:445 +msgid "Select original part to duplicate" +msgstr "" + +#: part/serializers.py:450 +msgid "Copy Image" +msgstr "" + +#: part/serializers.py:451 +msgid "Copy image from original part" +msgstr "" + +#: part/serializers.py:457 part/templates/part/detail.html:277 +msgid "Copy BOM" +msgstr "" + +#: part/serializers.py:458 +msgid "Copy bill of materials from original part" +msgstr "" + +#: part/serializers.py:464 +msgid "Copy Parameters" +msgstr "" + +#: part/serializers.py:465 +msgid "Copy parameter data from original part" +msgstr "" + +#: part/serializers.py:471 +msgid "Copy Notes" +msgstr "" + +#: part/serializers.py:472 +msgid "Copy notes from original part" +msgstr "" + +#: part/serializers.py:490 +msgid "Initial Stock Quantity" +msgstr "" + +#: part/serializers.py:492 +msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." +msgstr "" + +#: part/serializers.py:499 +msgid "Initial Stock Location" +msgstr "" + +#: part/serializers.py:500 +msgid "Specify initial stock location for this Part" +msgstr "" + +#: part/serializers.py:517 +msgid "Select supplier (or leave blank to skip)" +msgstr "" + +#: part/serializers.py:533 +msgid "Select manufacturer (or leave blank to skip)" +msgstr "" + +#: part/serializers.py:543 +msgid "Manufacturer part number" +msgstr "" + +#: part/serializers.py:550 +msgid "Selected company is not a valid supplier" +msgstr "" + +#: part/serializers.py:559 +msgid "Selected company is not a valid manufacturer" +msgstr "" + +#: part/serializers.py:570 +msgid "Manufacturer part matching this MPN already exists" +msgstr "" + +#: part/serializers.py:577 +msgid "Supplier part matching this SKU already exists" +msgstr "" + +#: part/serializers.py:841 +msgid "External Stock" +msgstr "" + +#: part/serializers.py:843 +msgid "Unallocated Stock" +msgstr "" + +#: part/serializers.py:846 +msgid "Variant Stock" +msgstr "" + +#: part/serializers.py:876 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:472 +msgid "Duplicate Part" +msgstr "" + +#: part/serializers.py:877 +msgid "Copy initial data from another Part" +msgstr "" + +#: part/serializers.py:883 templates/js/translated/part.js:102 +msgid "Initial Stock" +msgstr "" + +#: part/serializers.py:884 +msgid "Create Part with initial stock quantity" +msgstr "" + +#: part/serializers.py:890 +msgid "Supplier Information" +msgstr "" + +#: part/serializers.py:891 +msgid "Add initial supplier information for this part" +msgstr "" + +#: part/serializers.py:899 +msgid "Copy Category Parameters" +msgstr "" + +#: part/serializers.py:900 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: part/serializers.py:905 +msgid "Existing Image" +msgstr "" + +#: part/serializers.py:906 +msgid "Filename of an existing part image" +msgstr "" + +#: part/serializers.py:923 +msgid "Image file does not exist" +msgstr "" + +#: part/serializers.py:1129 +msgid "Limit stocktake report to a particular part, and any variant parts" +msgstr "" + +#: part/serializers.py:1139 +msgid "Limit stocktake report to a particular part category, and any child categories" +msgstr "" + +#: part/serializers.py:1149 +msgid "Limit stocktake report to a particular stock location, and any child locations" +msgstr "" + +#: part/serializers.py:1155 +msgid "Exclude External Stock" +msgstr "" + +#: part/serializers.py:1156 +msgid "Exclude stock items in external locations" +msgstr "" + +#: part/serializers.py:1161 +msgid "Generate Report" +msgstr "" + +#: part/serializers.py:1162 +msgid "Generate report file containing calculated stocktake data" +msgstr "" + +#: part/serializers.py:1167 +msgid "Update Parts" +msgstr "" + +#: part/serializers.py:1168 +msgid "Update specified parts with calculated stocktake data" +msgstr "" + +#: part/serializers.py:1176 +msgid "Stocktake functionality is not enabled" +msgstr "" + +#: part/serializers.py:1282 +msgid "Override calculated value for minimum price" +msgstr "" + +#: part/serializers.py:1289 +msgid "Minimum price currency" +msgstr "" + +#: part/serializers.py:1297 +msgid "Override calculated value for maximum price" +msgstr "" + +#: part/serializers.py:1304 +msgid "Maximum price currency" +msgstr "" + +#: part/serializers.py:1333 +msgid "Update" +msgstr "" + +#: part/serializers.py:1334 +msgid "Update pricing for this part" +msgstr "" + +#: part/serializers.py:1357 +#, python-brace-format +msgid "Could not convert from provided currencies to {default_currency}" +msgstr "" + +#: part/serializers.py:1364 +msgid "Minimum price must not be greater than maximum price" +msgstr "" + +#: part/serializers.py:1367 +msgid "Maximum price must not be less than minimum price" +msgstr "" + +#: part/serializers.py:1734 +msgid "Select part to copy BOM from" +msgstr "" + +#: part/serializers.py:1742 +msgid "Remove Existing Data" +msgstr "" + +#: part/serializers.py:1743 +msgid "Remove existing BOM items before copying" +msgstr "" + +#: part/serializers.py:1748 +msgid "Include Inherited" +msgstr "" + +#: part/serializers.py:1749 +msgid "Include BOM items which are inherited from templated parts" +msgstr "" + +#: part/serializers.py:1754 +msgid "Skip Invalid Rows" +msgstr "" + +#: part/serializers.py:1755 +msgid "Enable this option to skip invalid rows" +msgstr "" + +#: part/serializers.py:1760 +msgid "Copy Substitute Parts" +msgstr "" + +#: part/serializers.py:1761 +msgid "Copy substitute parts when duplicate BOM items" +msgstr "" + +#: part/serializers.py:1795 +msgid "Clear Existing BOM" +msgstr "" + +#: part/serializers.py:1796 +msgid "Delete existing BOM items before uploading" +msgstr "" + +#: part/serializers.py:1826 +msgid "No part column specified" +msgstr "" + +#: part/serializers.py:1870 +msgid "Multiple matching parts found" +msgstr "" + +#: part/serializers.py:1873 +msgid "No matching part found" +msgstr "" + +#: part/serializers.py:1876 +msgid "Part is not designated as a component" +msgstr "" + +#: part/serializers.py:1885 +msgid "Quantity not provided" +msgstr "" + +#: part/serializers.py:1893 +msgid "Invalid quantity" +msgstr "" + +#: part/serializers.py:1914 +msgid "At least one BOM item is required" +msgstr "" + +#: part/stocktake.py:225 templates/js/translated/part.js:1067 +#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: templates/js/translated/purchase_order.js:2084 +msgid "Total Quantity" +msgstr "" + +#: part/stocktake.py:226 +msgid "Total Cost Min" +msgstr "" + +#: part/stocktake.py:227 +msgid "Total Cost Max" +msgstr "" + +#: part/stocktake.py:285 +msgid "Stocktake Report Available" +msgstr "" + +#: part/stocktake.py:286 +msgid "A new stocktake report is available for download" +msgstr "" + +#: part/tasks.py:38 +msgid "Low stock notification" +msgstr "" + +#: part/tasks.py:40 +#, python-brace-format +msgid "The available stock for {part.name} has fallen below the configured minimum level" +msgstr "" + +#: part/templates/part/bom.html:6 +msgid "You do not have permission to edit the BOM." +msgstr "" + +#: part/templates/part/bom.html:15 +msgid "The BOM this part has been changed, and must be validated" +msgstr "" + +#: part/templates/part/bom.html:17 +#, python-format +msgid "This BOM was last checked by %(checker)s on %(check_date)s" +msgstr "" + +#: part/templates/part/bom.html:21 +msgid "This BOM has not been validated." +msgstr "" + +#: part/templates/part/category.html:35 +msgid "Perform stocktake for this part category" +msgstr "" + +#: part/templates/part/category.html:41 part/templates/part/category.html:45 +msgid "You are subscribed to notifications for this category" +msgstr "" + +#: part/templates/part/category.html:49 +msgid "Subscribe to notifications for this category" +msgstr "" + +#: part/templates/part/category.html:55 +msgid "Category Actions" +msgstr "" + +#: part/templates/part/category.html:60 +msgid "Edit category" +msgstr "" + +#: part/templates/part/category.html:61 +msgid "Edit Category" +msgstr "" + +#: part/templates/part/category.html:65 +msgid "Delete category" +msgstr "" + +#: part/templates/part/category.html:66 +msgid "Delete Category" +msgstr "" + +#: part/templates/part/category.html:102 +msgid "Top level part category" +msgstr "" + +#: part/templates/part/category.html:127 +msgid "Parts (Including subcategories)" +msgstr "" + +#: part/templates/part/category.html:165 +msgid "Create new part" +msgstr "" + +#: part/templates/part/category.html:166 templates/js/translated/bom.js:444 +msgid "New Part" +msgstr "" + +#: part/templates/part/category.html:192 +#: templates/InvenTree/settings/part_parameters.html:7 +#: templates/InvenTree/settings/sidebar.html:49 +msgid "Part Parameters" +msgstr "" + +#: part/templates/part/category.html:211 +msgid "Create new part category" +msgstr "" + +#: part/templates/part/category.html:212 +msgid "New Category" +msgstr "" + +#: part/templates/part/category_sidebar.html:13 +msgid "Import Parts" +msgstr "" + +#: part/templates/part/copy_part.html:10 +#, python-format +msgid "Make a copy of part '%(full_name)s'." +msgstr "" + +#: part/templates/part/copy_part.html:14 +#: part/templates/part/create_part.html:11 +msgid "Possible Matching Parts" +msgstr "" + +#: part/templates/part/copy_part.html:15 +#: part/templates/part/create_part.html:12 +msgid "The new part may be a duplicate of these existing parts" +msgstr "" + +#: part/templates/part/create_part.html:17 +#, python-format +msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" +msgstr "" + +#: part/templates/part/detail.html:20 +msgid "Part Stock" +msgstr "" + +#: part/templates/part/detail.html:44 +msgid "Refresh scheduling data" +msgstr "" + +#: part/templates/part/detail.html:45 part/templates/part/prices.html:15 +#: templates/js/translated/tables.js:552 +msgid "Refresh" +msgstr "" + +#: part/templates/part/detail.html:66 +msgid "Add stocktake information" +msgstr "" + +#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 +#: templates/InvenTree/settings/sidebar.html:53 +#: templates/js/translated/stock.js:2216 users/models.py:204 +msgid "Stocktake" +msgstr "" + +#: part/templates/part/detail.html:83 +msgid "Part Test Templates" +msgstr "" + +#: part/templates/part/detail.html:88 +msgid "Add Test Template" +msgstr "" + +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 +msgid "Sales Order Allocations" +msgstr "" + +#: part/templates/part/detail.html:156 +msgid "Part Notes" +msgstr "" + +#: part/templates/part/detail.html:171 +msgid "Part Variants" +msgstr "" + +#: part/templates/part/detail.html:175 +msgid "Create new variant" +msgstr "" + +#: part/templates/part/detail.html:176 +msgid "New Variant" +msgstr "" + +#: part/templates/part/detail.html:199 +msgid "Add new parameter" +msgstr "" + +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 +msgid "Related Parts" +msgstr "" + +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 +msgid "Add Related" +msgstr "" + +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 +#: report/templates/report/inventree_bill_of_materials_report.html:100 +msgid "Bill of Materials" +msgstr "" + +#: part/templates/part/detail.html:260 +msgid "Export actions" +msgstr "" + +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 +msgid "Export BOM" +msgstr "" + +#: part/templates/part/detail.html:266 +msgid "Print BOM Report" +msgstr "" + +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "" + +#: part/templates/part/detail.html:276 +msgid "Upload BOM" +msgstr "" + +#: part/templates/part/detail.html:278 +msgid "Validate BOM" +msgstr "" + +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1320 templates/js/translated/bom.js:1321 +msgid "Add BOM Item" +msgstr "" + +#: part/templates/part/detail.html:297 +msgid "Assemblies" +msgstr "" + +#: part/templates/part/detail.html:313 +msgid "Part Builds" +msgstr "" + +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 +msgid "Build Order Allocations" +msgstr "" + +#: part/templates/part/detail.html:352 +msgid "Part Suppliers" +msgstr "" + +#: part/templates/part/detail.html:372 +msgid "Part Manufacturers" +msgstr "" + +#: part/templates/part/detail.html:657 +msgid "Related Part" +msgstr "" + +#: part/templates/part/detail.html:665 +msgid "Add Related Part" +msgstr "" + +#: part/templates/part/detail.html:750 +msgid "Add Test Result Template" +msgstr "" + +#: part/templates/part/import_wizard/ajax_part_upload.html:29 +#: part/templates/part/import_wizard/part_upload.html:14 +msgid "Insufficient privileges." +msgstr "" + +#: part/templates/part/import_wizard/part_upload.html:8 +msgid "Return to Parts" +msgstr "" + +#: part/templates/part/import_wizard/part_upload.html:13 +msgid "Import Parts from File" +msgstr "" + +#: part/templates/part/import_wizard/part_upload.html:31 +msgid "Requirements for part import" +msgstr "" + +#: part/templates/part/import_wizard/part_upload.html:33 +msgid "The part import file must contain the required named columns as provided in the " +msgstr "" + +#: part/templates/part/import_wizard/part_upload.html:33 +msgid "Part Import Template" +msgstr "" + +#: part/templates/part/import_wizard/part_upload.html:89 +msgid "Download Part Import Template" +msgstr "" + +#: part/templates/part/import_wizard/part_upload.html:92 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 +msgid "Format" +msgstr "" + +#: part/templates/part/import_wizard/part_upload.html:93 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 +#: templates/js/translated/order.js:130 +msgid "Select file format" +msgstr "" + +#: part/templates/part/part_app_base.html:12 +msgid "Part List" +msgstr "" + +#: part/templates/part/part_base.html:25 part/templates/part/part_base.html:29 +msgid "You are subscribed to notifications for this part" +msgstr "" + +#: part/templates/part/part_base.html:33 +msgid "Subscribe to notifications for this part" +msgstr "" + +#: part/templates/part/part_base.html:52 +#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +msgid "Print Label" +msgstr "" + +#: part/templates/part/part_base.html:58 +msgid "Show pricing information" +msgstr "" + +#: part/templates/part/part_base.html:63 +#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/location.html:83 +msgid "Stock actions" +msgstr "" + +#: part/templates/part/part_base.html:70 +msgid "Count part stock" +msgstr "" + +#: part/templates/part/part_base.html:76 +msgid "Transfer part stock" +msgstr "" + +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +msgid "Part actions" +msgstr "" + +#: part/templates/part/part_base.html:94 +msgid "Duplicate part" +msgstr "" + +#: part/templates/part/part_base.html:97 +msgid "Edit part" +msgstr "" + +#: part/templates/part/part_base.html:100 +msgid "Delete part" +msgstr "" + +#: part/templates/part/part_base.html:119 +msgid "Part is a template part (variants can be made from this part)" +msgstr "" + +#: part/templates/part/part_base.html:123 +msgid "Part can be assembled from other parts" +msgstr "" + +#: part/templates/part/part_base.html:127 +msgid "Part can be used in assemblies" +msgstr "" + +#: part/templates/part/part_base.html:131 +msgid "Part stock is tracked by serial number" +msgstr "" + +#: part/templates/part/part_base.html:135 +msgid "Part can be purchased from external suppliers" +msgstr "" + +#: part/templates/part/part_base.html:139 +msgid "Part can be sold to customers" +msgstr "" + +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + +#: part/templates/part/part_base.html:153 +msgid "Part is virtual (not a physical part)" +msgstr "" + +#: part/templates/part/part_base.html:163 +#: part/templates/part/part_base.html:681 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:218 +#: stock/templates/stock/item_base.html:388 +msgid "Allocated to Build Orders" +msgstr "" + +#: part/templates/part/part_base.html:227 +#: stock/templates/stock/item_base.html:381 +msgid "Allocated to Sales Orders" +msgstr "" + +#: part/templates/part/part_base.html:235 templates/js/translated/bom.js:1219 +msgid "Can Build" +msgstr "" + +#: part/templates/part/part_base.html:291 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/pricing.js:391 +#: templates/js/translated/pricing.js:1054 +msgid "Price Range" +msgstr "" + +#: part/templates/part/part_base.html:352 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/part_base.html:356 +#: stock/templates/stock/item_base.html:322 +msgid "Search for serial number" +msgstr "" + +#: part/templates/part/part_base.html:444 +msgid "Part QR Code" +msgstr "" + +#: part/templates/part/part_base.html:461 +msgid "Link Barcode to Part" +msgstr "" + +#: part/templates/part/part_base.html:511 +msgid "Calculate" +msgstr "" + +#: part/templates/part/part_base.html:528 +msgid "Remove associated image from this part" +msgstr "" + +#: part/templates/part/part_base.html:579 +msgid "No matching images found" +msgstr "" + +#: part/templates/part/part_base.html:675 +msgid "Hide Part Details" +msgstr "" + +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:76 +#: part/templates/part/prices.html:227 templates/js/translated/pricing.js:485 +msgid "Supplier Pricing" +msgstr "" + +#: part/templates/part/part_pricing.html:26 +#: part/templates/part/part_pricing.html:52 +#: part/templates/part/part_pricing.html:95 +#: part/templates/part/part_pricing.html:110 +msgid "Unit Cost" +msgstr "" + +#: part/templates/part/part_pricing.html:40 +msgid "No supplier pricing available" +msgstr "" + +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:90 +#: part/templates/part/prices.html:250 +msgid "BOM Pricing" +msgstr "" + +#: part/templates/part/part_pricing.html:66 +msgid "Unit Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:72 +msgid "Total Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:83 +msgid "No BOM pricing available" +msgstr "" + +#: part/templates/part/part_pricing.html:92 +msgid "Internal Price" +msgstr "" + +#: part/templates/part/part_pricing.html:123 +msgid "No pricing information is available for this part." +msgstr "" + +#: part/templates/part/part_scheduling.html:14 +msgid "Scheduled Quantity" +msgstr "" + +#: part/templates/part/part_sidebar.html:11 +msgid "Variants" +msgstr "" + +#: part/templates/part/part_sidebar.html:14 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:153 +#: templates/InvenTree/settings/sidebar.html:51 +#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 +msgid "Stock" +msgstr "" + +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:39 +msgid "Pricing" +msgstr "" + +#: part/templates/part/part_sidebar.html:44 +msgid "Scheduling" +msgstr "" + +#: part/templates/part/part_sidebar.html:54 +msgid "Test Templates" +msgstr "" + +#: part/templates/part/part_thumb.html:11 +msgid "Select from existing images" +msgstr "" + +#: part/templates/part/prices.html:11 +msgid "Pricing Overview" +msgstr "" + +#: part/templates/part/prices.html:14 +msgid "Refresh Part Pricing" +msgstr "" + +#: part/templates/part/prices.html:17 +msgid "Override Part Pricing" +msgstr "" + +#: part/templates/part/prices.html:18 +#: templates/InvenTree/settings/settings_staff_js.html:80 +#: templates/InvenTree/settings/user.html:24 +#: templates/js/translated/helpers.js:100 +#: templates/js/translated/pricing.js:628 templates/notes_buttons.html:3 +#: templates/notes_buttons.html:4 +msgid "Edit" +msgstr "" + +#: part/templates/part/prices.html:28 stock/admin.py:252 +#: stock/templates/stock/item_base.html:446 +#: templates/js/translated/company.js:1703 +#: templates/js/translated/company.js:1713 +#: templates/js/translated/stock.js:2246 +msgid "Last Updated" +msgstr "" + +#: part/templates/part/prices.html:37 part/templates/part/prices.html:127 +msgid "Price Category" +msgstr "" + +#: part/templates/part/prices.html:38 part/templates/part/prices.html:128 +msgid "Minimum" +msgstr "" + +#: part/templates/part/prices.html:39 part/templates/part/prices.html:129 +msgid "Maximum" +msgstr "" + +#: part/templates/part/prices.html:51 part/templates/part/prices.html:174 +msgid "Internal Pricing" +msgstr "" + +#: part/templates/part/prices.html:64 part/templates/part/prices.html:206 +msgid "Purchase History" +msgstr "" + +#: part/templates/part/prices.html:98 part/templates/part/prices.html:274 +msgid "Variant Pricing" +msgstr "" + +#: part/templates/part/prices.html:106 +msgid "Pricing Overrides" +msgstr "" + +#: part/templates/part/prices.html:113 +msgid "Overall Pricing" +msgstr "" + +#: part/templates/part/prices.html:149 part/templates/part/prices.html:326 +msgid "Sale History" +msgstr "" + +#: part/templates/part/prices.html:157 +msgid "Sale price data is not available for this part" +msgstr "" + +#: part/templates/part/prices.html:164 +msgid "Price range data is not available for this part." +msgstr "" + +#: part/templates/part/prices.html:175 part/templates/part/prices.html:207 +#: part/templates/part/prices.html:228 part/templates/part/prices.html:251 +#: part/templates/part/prices.html:275 part/templates/part/prices.html:298 +#: part/templates/part/prices.html:327 +msgid "Jump to overview" +msgstr "" + +#: part/templates/part/prices.html:180 +msgid "Add Internal Price Break" +msgstr "" + +#: part/templates/part/prices.html:297 +msgid "Sale Pricing" +msgstr "" + +#: part/templates/part/prices.html:303 +msgid "Add Sell Price Break" +msgstr "" + +#: part/templates/part/pricing_javascript.html:24 +msgid "Update Pricing" +msgstr "" + +#: part/templates/part/stock_count.html:7 +#: templates/js/translated/model_renderers.js:227 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:2143 +msgid "No Stock" +msgstr "" + +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 +msgid "Low Stock" +msgstr "" + +#: part/templates/part/upload_bom.html:8 +msgid "Return to BOM" +msgstr "" + +#: part/templates/part/upload_bom.html:13 +msgid "Upload Bill of Materials" +msgstr "" + +#: part/templates/part/upload_bom.html:19 +msgid "BOM upload requirements" +msgstr "" + +#: part/templates/part/upload_bom.html:23 +#: part/templates/part/upload_bom.html:90 +msgid "Upload BOM File" +msgstr "" + +#: part/templates/part/upload_bom.html:29 +msgid "Submit BOM Data" +msgstr "" + +#: part/templates/part/upload_bom.html:37 +msgid "Requirements for BOM upload" +msgstr "" + +#: part/templates/part/upload_bom.html:39 +msgid "The BOM file must contain the required named columns as provided in the " +msgstr "" + +#: part/templates/part/upload_bom.html:39 +msgid "BOM Upload Template" +msgstr "" + +#: part/templates/part/upload_bom.html:40 +msgid "Each part must already exist in the database" +msgstr "" + +#: part/templates/part/variant_part.html:9 +msgid "Create new part variant" +msgstr "" + +#: part/templates/part/variant_part.html:10 +msgid "Create a new variant part from this template" +msgstr "" + +#: part/views.py:111 +msgid "Match References" +msgstr "" + +#: part/views.py:275 +#, python-brace-format +msgid "Can't import part {new_part.name} because there is no category assigned" +msgstr "" + +#: part/views.py:425 +msgid "Select Part Image" +msgstr "" + +#: part/views.py:448 +msgid "Updated part image" +msgstr "" + +#: part/views.py:451 +msgid "Part image not found" +msgstr "" + +#: part/views.py:545 +msgid "Part Pricing" +msgstr "" + +#: plugin/api.py:170 +msgid "Plugin cannot be deleted as it is currently active" +msgstr "" + +#: plugin/base/action/api.py:32 +msgid "No action specified" +msgstr "" + +#: plugin/base/action/api.py:41 +msgid "No matching action found" +msgstr "" + +#: plugin/base/barcodes/api.py:124 plugin/base/barcodes/api.py:328 +#: plugin/base/barcodes/api.py:503 +msgid "No match found for barcode data" +msgstr "" + +#: plugin/base/barcodes/api.py:128 +msgid "Match found for barcode data" +msgstr "" + +#: plugin/base/barcodes/api.py:154 +#: templates/js/translated/purchase_order.js:1406 +msgid "Barcode matches existing item" +msgstr "" + +#: plugin/base/barcodes/api.py:293 +msgid "No matching part data found" +msgstr "" + +#: plugin/base/barcodes/api.py:310 +msgid "No matching supplier parts found" +msgstr "" + +#: plugin/base/barcodes/api.py:314 +msgid "Multiple matching supplier parts found" +msgstr "" + +#: plugin/base/barcodes/api.py:338 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:387 +msgid "Item has already been received" +msgstr "" + +#: plugin/base/barcodes/api.py:424 +msgid "No match for supplier barcode" +msgstr "" + +#: plugin/base/barcodes/api.py:467 +msgid "Multiple matching line items found" +msgstr "" + +#: plugin/base/barcodes/api.py:470 +msgid "No matching line item found" +msgstr "" + +#: plugin/base/barcodes/api.py:508 plugin/base/barcodes/api.py:515 +msgid "Barcode does not match an existing stock item" +msgstr "" + +#: plugin/base/barcodes/api.py:526 +msgid "Stock item does not match line item" +msgstr "" + +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: templates/js/translated/sales_order.js:1953 +msgid "Insufficient stock available" +msgstr "" + +#: plugin/base/barcodes/api.py:559 +msgid "Stock item allocated to sales order" +msgstr "" + +#: plugin/base/barcodes/api.py:563 +msgid "Not enough information" +msgstr "" + +#: plugin/base/barcodes/mixins.py:147 plugin/base/barcodes/mixins.py:179 +msgid "Found multiple matching supplier parts for barcode" +msgstr "" + +#: plugin/base/barcodes/mixins.py:197 +#, python-brace-format +msgid "Found multiple purchase orders matching '{order}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:201 +#, python-brace-format +msgid "No matching purchase order for '{order}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:206 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:440 +msgid "Failed to find pending line item for supplier part" +msgstr "" + +#: plugin/base/barcodes/mixins.py:471 +msgid "Further information required to receive line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:479 +msgid "Received purchase order line item" +msgstr "" + +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "Purchase Order to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:87 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:111 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:125 +msgid "Cannot select a structural location" +msgstr "" + +#: plugin/base/barcodes/serializers.py:139 +msgid "Sales Order to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:145 +msgid "Sales order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:153 +msgid "Sales order line item to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:160 +msgid "Sales order shipment to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:166 +msgid "Shipment has already been delivered" +msgstr "" + +#: plugin/base/barcodes/serializers.py:171 +msgid "Quantity to allocate" +msgstr "" + +#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +msgid "Label printing failed" +msgstr "" + +#: plugin/base/label/mixins.py:56 +msgid "Error rendering label to PDF" +msgstr "" + +#: plugin/base/label/mixins.py:70 +msgid "Error rendering label to HTML" +msgstr "" + +#: plugin/base/label/mixins.py:151 +msgid "No items provided to print" +msgstr "" + +#: plugin/builtin/barcodes/inventree_barcode.py:25 +msgid "InvenTree Barcodes" +msgstr "" + +#: plugin/builtin/barcodes/inventree_barcode.py:26 +msgid "Provides native support for barcodes" +msgstr "" + +#: plugin/builtin/barcodes/inventree_barcode.py:28 +#: plugin/builtin/integration/core_notifications.py:35 +#: plugin/builtin/integration/currency_exchange.py:21 +#: plugin/builtin/labels/inventree_label.py:22 +#: plugin/builtin/labels/inventree_machine.py:64 +#: plugin/builtin/labels/label_sheet.py:63 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +msgid "InvenTree contributors" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:34 +msgid "InvenTree Notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:36 +msgid "Integrated outgoing notification methods" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:41 +#: plugin/builtin/integration/core_notifications.py:80 +msgid "Enable email notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:42 +#: plugin/builtin/integration/core_notifications.py:81 +msgid "Allow sending of emails for event notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:47 +msgid "Enable slack notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:49 +msgid "Allow sending of slack channel messages for event notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:55 +msgid "Slack incoming webhook url" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:56 +msgid "URL that is used to send messages to a slack channel" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:164 +msgid "Open link" +msgstr "" + +#: plugin/builtin/integration/currency_exchange.py:22 +msgid "InvenTree Currency Exchange" +msgstr "" + +#: plugin/builtin/integration/currency_exchange.py:23 +msgid "Default currency exchange integration" +msgstr "" + +#: plugin/builtin/labels/inventree_label.py:19 +msgid "InvenTree PDF label printer" +msgstr "" + +#: plugin/builtin/labels/inventree_label.py:20 +msgid "Provides native support for printing PDF labels" +msgstr "" + +#: plugin/builtin/labels/inventree_label.py:28 +msgid "Debug mode" +msgstr "" + +#: plugin/builtin/labels/inventree_label.py:29 +msgid "Enable debug mode - returns raw HTML instead of PDF" +msgstr "" + +#: plugin/builtin/labels/inventree_machine.py:61 +msgid "InvenTree machine label printer" +msgstr "" + +#: plugin/builtin/labels/inventree_machine.py:62 +msgid "Provides support for printing using a machine" +msgstr "" + +#: plugin/builtin/labels/inventree_machine.py:151 +msgid "last used" +msgstr "" + +#: plugin/builtin/labels/inventree_machine.py:168 +msgid "Options" +msgstr "" + +#: plugin/builtin/labels/label_sheet.py:29 +msgid "Page size for the label sheet" +msgstr "" + +#: plugin/builtin/labels/label_sheet.py:34 +msgid "Skip Labels" +msgstr "" + +#: plugin/builtin/labels/label_sheet.py:35 +msgid "Skip this number of labels when printing label sheets" +msgstr "" + +#: plugin/builtin/labels/label_sheet.py:41 +msgid "Border" +msgstr "" + +#: plugin/builtin/labels/label_sheet.py:42 +msgid "Print a border around each label" +msgstr "" + +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +msgid "Landscape" +msgstr "" + +#: plugin/builtin/labels/label_sheet.py:48 +msgid "Print the label sheet in landscape mode" +msgstr "" + +#: plugin/builtin/labels/label_sheet.py:60 +msgid "InvenTree Label Sheet Printer" +msgstr "" + +#: plugin/builtin/labels/label_sheet.py:61 +msgid "Arrays multiple labels onto a single sheet" +msgstr "" + +#: plugin/builtin/labels/label_sheet.py:99 +msgid "Label is too large for page size" +msgstr "" + +#: plugin/builtin/labels/label_sheet.py:133 +msgid "No labels were generated" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:16 +msgid "Supplier Integration - DigiKey" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:17 +msgid "Provides support for scanning DigiKey barcodes" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:26 +msgid "The Supplier which acts as 'DigiKey'" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:18 +msgid "Supplier Integration - LCSC" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:19 +msgid "Provides support for scanning LCSC barcodes" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:27 +msgid "The Supplier which acts as 'LCSC'" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:16 +msgid "Supplier Integration - Mouser" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:17 +msgid "Provides support for scanning Mouser barcodes" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:25 +msgid "The Supplier which acts as 'Mouser'" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:18 +msgid "Supplier Integration - TME" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:19 +msgid "Provides support for scanning TME barcodes" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:27 +msgid "The Supplier which acts as 'TME'" +msgstr "" + +#: plugin/installer.py:194 plugin/installer.py:282 +msgid "Only staff users can administer plugins" +msgstr "" + +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 +msgid "Installed plugin successfully" +msgstr "" + +#: plugin/installer.py:254 +#, python-brace-format +msgid "Installed plugin into {path}" +msgstr "" + +#: plugin/installer.py:273 +msgid "Plugin was not found in registry" +msgstr "" + +#: plugin/installer.py:276 +msgid "Plugin is not a packaged plugin" +msgstr "" + +#: plugin/installer.py:279 +msgid "Plugin package name not found" +msgstr "" + +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 +msgid "Plugin cannot be uninstalled as it is currently active" +msgstr "" + +#: plugin/installer.py:316 +msgid "Uninstalled plugin successfully" +msgstr "" + +#: plugin/models.py:36 +msgid "Plugin Configuration" +msgstr "" + +#: plugin/models.py:37 +msgid "Plugin Configurations" +msgstr "" + +#: plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: plugin/models.py:44 +msgid "Key of plugin" +msgstr "" + +#: plugin/models.py:52 +msgid "PluginName of the plugin" +msgstr "" + +#: plugin/models.py:59 plugin/serializers.py:90 +msgid "Package Name" +msgstr "" + +#: plugin/models.py:61 +msgid "Name of the installed package, if the plugin was installed via PIP" +msgstr "" + +#: plugin/models.py:66 +msgid "Is the plugin active" +msgstr "" + +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 +#: templates/js/translated/table_filters.js:504 +msgid "Installed" +msgstr "" + +#: plugin/models.py:166 +msgid "Sample plugin" +msgstr "" + +#: plugin/models.py:174 +msgid "Builtin Plugin" +msgstr "" + +#: plugin/models.py:182 +msgid "Package Plugin" +msgstr "" + +#: plugin/models.py:220 report/models.py:474 +#: templates/InvenTree/settings/plugin_settings.html:9 +#: templates/js/translated/plugin.js:51 +msgid "Plugin" +msgstr "" + +#: plugin/models.py:267 +msgid "Method" +msgstr "" + +#: plugin/plugin.py:270 +msgid "No author found" +msgstr "" + +#: plugin/registry.py:597 +#, python-brace-format +msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" +msgstr "" + +#: plugin/registry.py:600 +#, python-brace-format +msgid "Plugin requires at least version {v}" +msgstr "" + +#: plugin/registry.py:602 +#, python-brace-format +msgid "Plugin requires at most version {v}" +msgstr "" + +#: plugin/samples/integration/sample.py:52 +msgid "Enable PO" +msgstr "" + +#: plugin/samples/integration/sample.py:53 +msgid "Enable PO functionality in InvenTree interface" +msgstr "" + +#: plugin/samples/integration/sample.py:58 +msgid "API Key" +msgstr "" + +#: plugin/samples/integration/sample.py:59 +msgid "Key required for accessing external API" +msgstr "" + +#: plugin/samples/integration/sample.py:63 +msgid "Numerical" +msgstr "" + +#: plugin/samples/integration/sample.py:64 +msgid "A numerical setting" +msgstr "" + +#: plugin/samples/integration/sample.py:69 +msgid "Choice Setting" +msgstr "" + +#: plugin/samples/integration/sample.py:70 +msgid "A setting with multiple choices" +msgstr "" + +#: plugin/samples/integration/sample_currency_exchange.py:15 +msgid "Sample currency exchange plugin" +msgstr "" + +#: plugin/samples/integration/sample_currency_exchange.py:18 +msgid "InvenTree Contributors" +msgstr "" + +#: plugin/serializers.py:81 +msgid "Source URL" +msgstr "" + +#: plugin/serializers.py:83 +msgid "Source for the package - this can be a custom registry or a VCS path" +msgstr "" + +#: plugin/serializers.py:92 +msgid "Name for the Plugin Package - can also contain a version indicator" +msgstr "" + +#: plugin/serializers.py:99 +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:86 +msgid "Version" +msgstr "" + +#: plugin/serializers.py:101 +msgid "Version specifier for the plugin. Leave blank for latest version." +msgstr "" + +#: plugin/serializers.py:106 +msgid "Confirm plugin installation" +msgstr "" + +#: plugin/serializers.py:108 +msgid "This will install this plugin now into the current instance. The instance will go into maintenance." +msgstr "" + +#: plugin/serializers.py:121 +msgid "Installation not confirmed" +msgstr "" + +#: plugin/serializers.py:123 +msgid "Either packagename of URL must be provided" +msgstr "" + +#: plugin/serializers.py:161 +msgid "Full reload" +msgstr "" + +#: plugin/serializers.py:162 +msgid "Perform a full reload of the plugin registry" +msgstr "" + +#: plugin/serializers.py:168 +msgid "Force reload" +msgstr "" + +#: plugin/serializers.py:170 +msgid "Force a reload of the plugin registry, even if it is already loaded" +msgstr "" + +#: plugin/serializers.py:177 +msgid "Collect plugins" +msgstr "" + +#: plugin/serializers.py:178 +msgid "Collect plugins and add them to the registry" +msgstr "" + +#: plugin/serializers.py:205 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:206 +msgid "Activate this plugin" +msgstr "" + +#: plugin/serializers.py:226 +msgid "Delete configuration" +msgstr "" + +#: plugin/serializers.py:227 +msgid "Delete the plugin configuration from the database" +msgstr "" + +#: report/api.py:88 +msgid "No valid objects provided to template" +msgstr "" + +#: report/api.py:100 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:103 report/models.py:438 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:180 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:182 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:184 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:233 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:248 report/api.py:329 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:283 +msgid "Error printing label" +msgstr "" + +#: report/api.py:375 report/api.py:411 +#, python-brace-format +msgid "Template file '{template}' is missing or does not exist" +msgstr "" + +#: report/helpers.py:41 +msgid "A4" +msgstr "" + +#: report/helpers.py:42 +msgid "A3" +msgstr "" + +#: report/helpers.py:43 +msgid "Legal" +msgstr "" + +#: report/helpers.py:44 +msgid "Letter" +msgstr "" + +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 +msgid "Template name" +msgstr "" + +#: report/models.py:156 +msgid "Template description" +msgstr "" + +#: report/models.py:162 +msgid "Revision number (auto-increments)" +msgstr "" + +#: report/models.py:202 +msgid "Filename Pattern" +msgstr "" + +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:294 report/models.py:361 +msgid "Template file" +msgstr "" + +#: report/models.py:302 +msgid "Page size for PDF reports" +msgstr "" + +#: report/models.py:308 +msgid "Render report in landscape orientation" +msgstr "" + +#: report/models.py:367 +msgid "Width [mm]" +msgstr "" + +#: report/models.py:368 +msgid "Label width, specified in mm" +msgstr "" + +#: report/models.py:374 +msgid "Height [mm]" +msgstr "" + +#: report/models.py:375 +msgid "Label height, specified in mm" +msgstr "" + +#: report/models.py:438 +msgid "Number of items to process" +msgstr "" + +#: report/models.py:444 +msgid "Report generation is complete" +msgstr "" + +#: report/models.py:448 templates/js/translated/build.js:2177 +msgid "Progress" +msgstr "" + +#: report/models.py:448 +msgid "Report generation progress" +msgstr "" + +#: report/models.py:456 +msgid "Report Template" +msgstr "" + +#: report/models.py:463 report/models.py:486 +msgid "Output File" +msgstr "" + +#: report/models.py:464 report/models.py:487 +msgid "Generated output file" +msgstr "" + +#: report/models.py:475 +msgid "Label output plugin" +msgstr "" + +#: report/models.py:479 +msgid "Label Template" +msgstr "" + +#: report/models.py:502 +msgid "Snippet" +msgstr "" + +#: report/models.py:503 +msgid "Report snippet file" +msgstr "" + +#: report/models.py:510 +msgid "Snippet file description" +msgstr "" + +#: report/models.py:528 +msgid "Asset" +msgstr "" + +#: report/models.py:529 +msgid "Report asset file" +msgstr "" + +#: report/models.py:536 +msgid "Asset file description" +msgstr "" + +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" +msgstr "" + +#: report/templates/report/inventree_bill_of_materials_report.html:133 +msgid "Materials needed" +msgstr "" + +#: report/templates/report/inventree_build_order_report.html:146 +msgid "Required For" +msgstr "" + +#: report/templates/report/inventree_purchase_order_report.html:15 +msgid "Supplier was deleted" +msgstr "" + +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 +#: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 +#: templates/js/translated/pricing.js:596 +#: templates/js/translated/pricing.js:834 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 +msgid "Unit Price" +msgstr "" + +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 +msgid "Extra Line Items" +msgstr "" + +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 +msgid "Total" +msgstr "" + +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 +#: templates/js/translated/build.js:2355 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 +#: templates/js/translated/sales_order.js:315 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 +#: templates/js/translated/stock.js:596 +msgid "Serial Number" +msgstr "" + +#: report/templates/report/inventree_stock_location_report.html:97 +msgid "Stock location items" +msgstr "" + +#: report/templates/report/inventree_test_report.html:21 +msgid "Stock Item Test Report" +msgstr "" + +#: report/templates/report/inventree_test_report.html:97 +msgid "Test Results" +msgstr "" + +#: report/templates/report/inventree_test_report.html:102 +#: templates/js/translated/stock.js:1495 +msgid "Test" +msgstr "" + +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428 +msgid "Result" +msgstr "" + +#: report/templates/report/inventree_test_report.html:130 +msgid "Pass" +msgstr "" + +#: report/templates/report/inventree_test_report.html:132 +msgid "Fail" +msgstr "" + +#: report/templates/report/inventree_test_report.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report.html:154 +#: stock/templates/stock/stock_sidebar.html:16 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 +msgid "Serial" +msgstr "" + +#: report/templatetags/report.py:96 +msgid "Asset file does not exist" +msgstr "" + +#: report/templatetags/report.py:152 report/templatetags/report.py:217 +msgid "Image file not found" +msgstr "" + +#: report/templatetags/report.py:242 +msgid "part_image tag requires a Part instance" +msgstr "" + +#: report/templatetags/report.py:283 +msgid "company_image tag requires a Company instance" +msgstr "" + +#: stock/admin.py:52 stock/admin.py:172 +msgid "Location ID" +msgstr "" + +#: stock/admin.py:54 stock/admin.py:176 +msgid "Location Name" +msgstr "" + +#: stock/admin.py:64 stock/templates/stock/location.html:131 +#: stock/templates/stock/location.html:137 +msgid "Location Path" +msgstr "" + +#: stock/admin.py:149 +msgid "Stock Item ID" +msgstr "" + +#: stock/admin.py:168 +msgid "Status Code" +msgstr "" + +#: stock/admin.py:180 +msgid "Supplier Part ID" +msgstr "" + +#: stock/admin.py:185 +msgid "Supplier Part SKU" +msgstr "" + +#: stock/admin.py:190 +msgid "Supplier ID" +msgstr "" + +#: stock/admin.py:196 +msgid "Supplier Name" +msgstr "" + +#: stock/admin.py:201 +msgid "Customer ID" +msgstr "" + +#: stock/admin.py:206 stock/models.py:806 +#: stock/templates/stock/item_base.html:354 +msgid "Installed In" +msgstr "" + +#: stock/admin.py:211 +msgid "Build ID" +msgstr "" + +#: stock/admin.py:221 +msgid "Sales Order ID" +msgstr "" + +#: stock/admin.py:226 +msgid "Purchase Order ID" +msgstr "" + +#: stock/admin.py:241 +msgid "Review Needed" +msgstr "" + +#: stock/admin.py:246 +msgid "Delete on Deplete" +msgstr "" + +#: stock/admin.py:261 stock/models.py:900 +#: stock/templates/stock/item_base.html:433 +#: templates/js/translated/stock.js:2230 users/models.py:124 +msgid "Expiry Date" +msgstr "" + +#: stock/api.py:318 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:338 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:359 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:360 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:615 templates/js/translated/table_filters.js:427 +msgid "External Location" +msgstr "" + +#: stock/api.py:803 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:833 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:837 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:840 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "" + +#: stock/api.py:927 +msgid "Quantity is required" +msgstr "" + +#: stock/api.py:933 +msgid "Valid part must be supplied" +msgstr "" + +#: stock/api.py:964 +msgid "The given supplier part does not exist" +msgstr "" + +#: stock/api.py:974 +msgid "The supplier part has a pack size defined, but flag use_pack_size not set" +msgstr "" + +#: stock/api.py:1005 +msgid "Serial numbers cannot be supplied for a non-trackable part" +msgstr "" + +#: stock/models.py:59 +msgid "Stock Location type" +msgstr "" + +#: stock/models.py:60 +msgid "Stock Location types" +msgstr "" + +#: stock/models.py:86 +msgid "Default icon for all locations that have no icon set (optional)" +msgstr "" + +#: stock/models.py:123 stock/models.py:788 +#: stock/templates/stock/location.html:17 +#: stock/templates/stock/stock_app_base.html:8 +msgid "Stock Location" +msgstr "" + +#: stock/models.py:124 stock/templates/stock/location.html:186 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 +#: users/models.py:205 +msgid "Stock Locations" +msgstr "" + +#: stock/models.py:166 stock/models.py:949 +#: stock/templates/stock/item_base.html:247 +msgid "Owner" +msgstr "" + +#: stock/models.py:167 stock/models.py:950 +msgid "Select Owner" +msgstr "" + +#: stock/models.py:175 +msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." +msgstr "" + +#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: templates/js/translated/table_filters.js:243 +msgid "External" +msgstr "" + +#: stock/models.py:183 +msgid "This is an external stock location" +msgstr "" + +#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: templates/js/translated/table_filters.js:246 +msgid "Location type" +msgstr "" + +#: stock/models.py:193 +msgid "Stock location type of this location" +msgstr "" + +#: stock/models.py:262 +msgid "You cannot make this stock location structural because some stock items are already located into it!" +msgstr "" + +#: stock/models.py:643 +msgid "Stock items cannot be located into structural stock locations!" +msgstr "" + +#: stock/models.py:670 stock/serializers.py:422 +msgid "Stock item cannot be created for virtual parts" +msgstr "" + +#: stock/models.py:687 +#, python-brace-format +msgid "Part type ('{self.supplier_part.part}') must be {self.part}" +msgstr "" + +#: stock/models.py:697 stock/models.py:710 +msgid "Quantity must be 1 for item with a serial number" +msgstr "" + +#: stock/models.py:700 +msgid "Serial number cannot be set if quantity greater than 1" +msgstr "" + +#: stock/models.py:724 +msgid "Item cannot belong to itself" +msgstr "" + +#: stock/models.py:729 +msgid "Item must have a build reference if is_building=True" +msgstr "" + +#: stock/models.py:742 +msgid "Build reference does not point to the same part object" +msgstr "" + +#: stock/models.py:758 +msgid "Parent Stock Item" +msgstr "" + +#: stock/models.py:770 +msgid "Base part" +msgstr "" + +#: stock/models.py:780 +msgid "Select a matching supplier part for this stock item" +msgstr "" + +#: stock/models.py:792 +msgid "Where is this stock item located?" +msgstr "" + +#: stock/models.py:800 stock/serializers.py:1483 +msgid "Packaging this stock item is stored in" +msgstr "" + +#: stock/models.py:811 +msgid "Is this item installed in another item?" +msgstr "" + +#: stock/models.py:830 +msgid "Serial number for this item" +msgstr "" + +#: stock/models.py:844 stock/serializers.py:1466 +msgid "Batch code for this stock item" +msgstr "" + +#: stock/models.py:849 +msgid "Stock Quantity" +msgstr "" + +#: stock/models.py:859 +msgid "Source Build" +msgstr "" + +#: stock/models.py:862 +msgid "Build for this stock item" +msgstr "" + +#: stock/models.py:869 stock/templates/stock/item_base.html:363 +msgid "Consumed By" +msgstr "" + +#: stock/models.py:872 +msgid "Build order which consumed this stock item" +msgstr "" + +#: stock/models.py:881 +msgid "Source Purchase Order" +msgstr "" + +#: stock/models.py:885 +msgid "Purchase order for this stock item" +msgstr "" + +#: stock/models.py:891 +msgid "Destination Sales Order" +msgstr "" + +#: stock/models.py:902 +msgid "Expiry date for stock item. Stock will be considered expired after this date" +msgstr "" + +#: stock/models.py:920 +msgid "Delete on deplete" +msgstr "" + +#: stock/models.py:921 +msgid "Delete this Stock Item when stock is depleted" +msgstr "" + +#: stock/models.py:941 +msgid "Single unit purchase price at time of purchase" +msgstr "" + +#: stock/models.py:972 +msgid "Converted to part" +msgstr "" + +#: stock/models.py:1490 +msgid "Part is not set as trackable" +msgstr "" + +#: stock/models.py:1496 +msgid "Quantity must be integer" +msgstr "" + +#: stock/models.py:1504 +#, python-brace-format +msgid "Quantity must not exceed available stock quantity ({self.quantity})" +msgstr "" + +#: stock/models.py:1510 +msgid "Serial numbers must be a list of integers" +msgstr "" + +#: stock/models.py:1515 +msgid "Quantity does not match serial numbers" +msgstr "" + +#: stock/models.py:1523 stock/serializers.py:661 +msgid "Serial numbers already exist" +msgstr "" + +#: stock/models.py:1620 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1638 +msgid "Stock item has been assigned to a sales order" +msgstr "" + +#: stock/models.py:1642 +msgid "Stock item is installed in another item" +msgstr "" + +#: stock/models.py:1645 +msgid "Stock item contains other items" +msgstr "" + +#: stock/models.py:1648 +msgid "Stock item has been assigned to a customer" +msgstr "" + +#: stock/models.py:1651 +msgid "Stock item is currently in production" +msgstr "" + +#: stock/models.py:1654 +msgid "Serialized stock cannot be merged" +msgstr "" + +#: stock/models.py:1661 stock/serializers.py:1372 +msgid "Duplicate stock items" +msgstr "" + +#: stock/models.py:1665 +msgid "Stock items must refer to the same part" +msgstr "" + +#: stock/models.py:1673 +msgid "Stock items must refer to the same supplier part" +msgstr "" + +#: stock/models.py:1678 +msgid "Stock status codes must match" +msgstr "" + +#: stock/models.py:1905 +msgid "StockItem cannot be moved as it is not in stock" +msgstr "" + +#: stock/models.py:2326 +msgid "Entry notes" +msgstr "" + +#: stock/models.py:2394 +msgid "Value must be provided for this test" +msgstr "" + +#: stock/models.py:2399 +msgid "Attachment must be uploaded for this test" +msgstr "" + +#: stock/models.py:2404 +msgid "Invalid value for this test" +msgstr "" + +#: stock/models.py:2428 +msgid "Test result" +msgstr "" + +#: stock/models.py:2435 +msgid "Test output value" +msgstr "" + +#: stock/models.py:2443 +msgid "Test result attachment" +msgstr "" + +#: stock/models.py:2447 +msgid "Test notes" +msgstr "" + +#: stock/models.py:2455 templates/js/translated/stock.js:1548 +msgid "Test station" +msgstr "" + +#: stock/models.py:2456 +msgid "The identifier of the test station where the test was performed" +msgstr "" + +#: stock/models.py:2462 +msgid "Started" +msgstr "" + +#: stock/models.py:2463 +msgid "The timestamp of the test start" +msgstr "" + +#: stock/models.py:2469 +msgid "Finished" +msgstr "" + +#: stock/models.py:2470 +msgid "The timestamp of the test finish" +msgstr "" + +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:248 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:280 +msgid "The test finished time cannot be earlier than the test started time" +msgstr "" + +#: stock/serializers.py:316 +msgid "Serial number is too large" +msgstr "" + +#: stock/serializers.py:414 +msgid "Use pack size when adding: the quantity defined is the number of packs" +msgstr "" + +#: stock/serializers.py:534 +msgid "Purchase price of this stock item, per unit or pack" +msgstr "" + +#: stock/serializers.py:596 +msgid "Enter number of stock items to serialize" +msgstr "" + +#: stock/serializers.py:609 +#, python-brace-format +msgid "Quantity must not exceed available stock quantity ({q})" +msgstr "" + +#: stock/serializers.py:616 +msgid "Enter serial numbers for new items" +msgstr "" + +#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585 +msgid "Destination stock location" +msgstr "" + +#: stock/serializers.py:634 +msgid "Optional note field" +msgstr "" + +#: stock/serializers.py:644 +msgid "Serial numbers cannot be assigned to this part" +msgstr "" + +#: stock/serializers.py:699 +msgid "Select stock item to install" +msgstr "" + +#: stock/serializers.py:706 +msgid "Quantity to Install" +msgstr "" + +#: stock/serializers.py:707 +msgid "Enter the quantity of items to install" +msgstr "" + +#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888 +#: stock/serializers.py:938 +msgid "Add transaction note (optional)" +msgstr "" + +#: stock/serializers.py:720 +msgid "Quantity to install must be at least 1" +msgstr "" + +#: stock/serializers.py:728 +msgid "Stock item is unavailable" +msgstr "" + +#: stock/serializers.py:739 +msgid "Selected part is not in the Bill of Materials" +msgstr "" + +#: stock/serializers.py:752 +msgid "Quantity to install must not exceed available quantity" +msgstr "" + +#: stock/serializers.py:787 +msgid "Destination location for uninstalled item" +msgstr "" + +#: stock/serializers.py:822 +msgid "Select part to convert stock item into" +msgstr "" + +#: stock/serializers.py:835 +msgid "Selected part is not a valid option for conversion" +msgstr "" + +#: stock/serializers.py:852 +msgid "Cannot convert stock item with assigned SupplierPart" +msgstr "" + +#: stock/serializers.py:883 +msgid "Destination location for returned item" +msgstr "" + +#: stock/serializers.py:920 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:926 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:1022 stock/serializers.py:1085 +#: stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "" + +#: stock/serializers.py:1201 +msgid "Part must be salable" +msgstr "" + +#: stock/serializers.py:1205 +msgid "Item is allocated to a sales order" +msgstr "" + +#: stock/serializers.py:1209 +msgid "Item is allocated to a build order" +msgstr "" + +#: stock/serializers.py:1233 +msgid "Customer to assign stock items" +msgstr "" + +#: stock/serializers.py:1239 +msgid "Selected company is not a customer" +msgstr "" + +#: stock/serializers.py:1247 +msgid "Stock assignment notes" +msgstr "" + +#: stock/serializers.py:1257 stock/serializers.py:1511 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/serializers.py:1336 +msgid "Stock merging notes" +msgstr "" + +#: stock/serializers.py:1341 +msgid "Allow mismatched suppliers" +msgstr "" + +#: stock/serializers.py:1342 +msgid "Allow stock items with different supplier parts to be merged" +msgstr "" + +#: stock/serializers.py:1347 +msgid "Allow mismatched status" +msgstr "" + +#: stock/serializers.py:1348 +msgid "Allow stock items with different status codes to be merged" +msgstr "" + +#: stock/serializers.py:1358 +msgid "At least two stock items must be provided" +msgstr "" + +#: stock/serializers.py:1425 +msgid "No Change" +msgstr "" + +#: stock/serializers.py:1454 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:1473 +msgid "Stock item status code" +msgstr "" + +#: stock/serializers.py:1501 +msgid "Stock transaction notes" +msgstr "" + +#: stock/status_codes.py:11 +msgid "OK" +msgstr "" + +#: stock/status_codes.py:12 +msgid "Attention needed" +msgstr "" + +#: stock/status_codes.py:13 +msgid "Damaged" +msgstr "" + +#: stock/status_codes.py:14 +msgid "Destroyed" +msgstr "" + +#: stock/status_codes.py:15 +msgid "Rejected" +msgstr "" + +#: stock/status_codes.py:19 +msgid "Quarantined" +msgstr "" + +#: stock/status_codes.py:40 +msgid "Legacy stock tracking entry" +msgstr "" + +#: stock/status_codes.py:42 templates/js/translated/stock.js:544 +msgid "Stock item created" +msgstr "" + +#: stock/status_codes.py:45 +msgid "Edited stock item" +msgstr "" + +#: stock/status_codes.py:46 +msgid "Assigned serial number" +msgstr "" + +#: stock/status_codes.py:49 +msgid "Stock counted" +msgstr "" + +#: stock/status_codes.py:50 +msgid "Stock manually added" +msgstr "" + +#: stock/status_codes.py:51 +msgid "Stock manually removed" +msgstr "" + +#: stock/status_codes.py:54 +msgid "Location changed" +msgstr "" + +#: stock/status_codes.py:55 +msgid "Stock updated" +msgstr "" + +#: stock/status_codes.py:58 +msgid "Installed into assembly" +msgstr "" + +#: stock/status_codes.py:59 +msgid "Removed from assembly" +msgstr "" + +#: stock/status_codes.py:61 +msgid "Installed component item" +msgstr "" + +#: stock/status_codes.py:62 +msgid "Removed component item" +msgstr "" + +#: stock/status_codes.py:65 +msgid "Split from parent item" +msgstr "" + +#: stock/status_codes.py:66 +msgid "Split child item" +msgstr "" + +#: stock/status_codes.py:69 templates/js/translated/stock.js:1858 +msgid "Merged stock items" +msgstr "" + +#: stock/status_codes.py:72 +msgid "Converted to variant" +msgstr "" + +#: stock/status_codes.py:75 +msgid "Build order output created" +msgstr "" + +#: stock/status_codes.py:76 +msgid "Build order output completed" +msgstr "" + +#: stock/status_codes.py:77 +msgid "Build order output rejected" +msgstr "" + +#: stock/status_codes.py:78 templates/js/translated/stock.js:1764 +msgid "Consumed by build order" +msgstr "" + +#: stock/status_codes.py:81 +msgid "Shipped against Sales Order" +msgstr "" + +#: stock/status_codes.py:84 +msgid "Received against Purchase Order" +msgstr "" + +#: stock/status_codes.py:87 +msgid "Returned against Return Order" +msgstr "" + +#: stock/status_codes.py:90 templates/js/translated/table_filters.js:375 +msgid "Sent to customer" +msgstr "" + +#: stock/status_codes.py:91 +msgid "Returned from customer" +msgstr "" + +#: stock/templates/stock/item.html:17 +msgid "Stock Tracking Information" +msgstr "" + +#: stock/templates/stock/item.html:63 +msgid "Child Stock Items" +msgstr "" + +#: stock/templates/stock/item.html:72 +msgid "This stock item does not have any child items" +msgstr "" + +#: stock/templates/stock/item.html:81 +#: stock/templates/stock/stock_sidebar.html:12 +msgid "Test Data" +msgstr "" + +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +msgid "Test Report" +msgstr "" + +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +msgid "Delete Test Data" +msgstr "" + +#: stock/templates/stock/item.html:93 +msgid "Add Test Data" +msgstr "" + +#: stock/templates/stock/item.html:125 +msgid "Stock Item Notes" +msgstr "" + +#: stock/templates/stock/item.html:140 +msgid "Installed Stock Items" +msgstr "" + +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 +msgid "Install Stock Item" +msgstr "" + +#: stock/templates/stock/item.html:274 +msgid "Delete all test results for this stock item" +msgstr "" + +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +msgid "Add Test Result" +msgstr "" + +#: stock/templates/stock/item_base.html:33 +msgid "Locate stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:51 +msgid "Scan to Location" +msgstr "" + +#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/location.html:70 +#: templates/js/translated/filters.js:431 +msgid "Printing actions" +msgstr "" + +#: stock/templates/stock/item_base.html:75 +msgid "Stock adjustment actions" +msgstr "" + +#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1824 +msgid "Count stock" +msgstr "" + +#: stock/templates/stock/item_base.html:81 +#: templates/js/translated/stock.js:1806 +msgid "Add stock" +msgstr "" + +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1815 +msgid "Remove stock" +msgstr "" + +#: stock/templates/stock/item_base.html:85 +msgid "Serialize stock" +msgstr "" + +#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1833 +msgid "Transfer stock" +msgstr "" + +#: stock/templates/stock/item_base.html:91 +#: templates/js/translated/stock.js:1887 +msgid "Assign to customer" +msgstr "" + +#: stock/templates/stock/item_base.html:94 +msgid "Return to stock" +msgstr "" + +#: stock/templates/stock/item_base.html:97 +msgid "Uninstall stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:97 +msgid "Uninstall" +msgstr "" + +#: stock/templates/stock/item_base.html:101 +msgid "Install stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:101 +msgid "Install" +msgstr "" + +#: stock/templates/stock/item_base.html:115 +msgid "Convert to variant" +msgstr "" + +#: stock/templates/stock/item_base.html:118 +msgid "Duplicate stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:120 +msgid "Edit stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:123 +msgid "Delete stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2123 templates/navbar.html:38 +msgid "Build" +msgstr "" + +#: stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/templates/stock/item_base.html:211 +msgid "No manufacturer set" +msgstr "" + +#: stock/templates/stock/item_base.html:251 +msgid "You are not in the list of owners of this item. This stock item cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/location.html:149 +msgid "Read only" +msgstr "" + +#: stock/templates/stock/item_base.html:265 +msgid "This stock item is unavailable" +msgstr "" + +#: stock/templates/stock/item_base.html:271 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:272 +msgid "Edit the stock item from the build view." +msgstr "" + +#: stock/templates/stock/item_base.html:287 +msgid "This stock item is allocated to Sales Order" +msgstr "" + +#: stock/templates/stock/item_base.html:295 +msgid "This stock item is allocated to Build Order" +msgstr "" + +#: stock/templates/stock/item_base.html:311 +msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" +msgstr "" + +#: stock/templates/stock/item_base.html:317 +msgid "previous page" +msgstr "" + +#: stock/templates/stock/item_base.html:317 +msgid "Navigate to previous serial number" +msgstr "" + +#: stock/templates/stock/item_base.html:326 +msgid "next page" +msgstr "" + +#: stock/templates/stock/item_base.html:326 +msgid "Navigate to next serial number" +msgstr "" + +#: stock/templates/stock/item_base.html:340 +msgid "Available Quantity" +msgstr "" + +#: stock/templates/stock/item_base.html:398 +#: templates/js/translated/build.js:2380 +msgid "No location set" +msgstr "" + +#: stock/templates/stock/item_base.html:413 +msgid "Tests" +msgstr "" + +#: stock/templates/stock/item_base.html:419 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:437 +#, python-format +msgid "This StockItem expired on %(item.expiry_date)s" +msgstr "" + +#: stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:439 +#, python-format +msgid "This StockItem expires on %(item.expiry_date)s" +msgstr "" + +#: stock/templates/stock/item_base.html:455 +msgid "No stocktake performed" +msgstr "" + +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 +msgid "stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:527 +msgid "Edit Stock Status" +msgstr "" + +#: stock/templates/stock/item_base.html:536 +msgid "Stock Item QR Code" +msgstr "" + +#: stock/templates/stock/item_base.html:547 +msgid "Link Barcode to Stock Item" +msgstr "" + +#: stock/templates/stock/item_base.html:611 +msgid "Select one of the part variants listed below." +msgstr "" + +#: stock/templates/stock/item_base.html:614 +msgid "Warning" +msgstr "" + +#: stock/templates/stock/item_base.html:615 +msgid "This action cannot be easily undone" +msgstr "" + +#: stock/templates/stock/item_base.html:623 +msgid "Convert Stock Item" +msgstr "" + +#: stock/templates/stock/item_base.html:657 +msgid "Return to Stock" +msgstr "" + +#: stock/templates/stock/item_serialize.html:5 +msgid "Create serialized items from this stock item." +msgstr "" + +#: stock/templates/stock/item_serialize.html:7 +msgid "Select quantity to serialize, and unique serial numbers." +msgstr "" + +#: stock/templates/stock/location.html:38 +msgid "Perform stocktake for this stock location" +msgstr "" + +#: stock/templates/stock/location.html:45 +msgid "Locate stock location" +msgstr "" + +#: stock/templates/stock/location.html:63 +msgid "Scan stock items into this location" +msgstr "" + +#: stock/templates/stock/location.html:63 +msgid "Scan In Stock Items" +msgstr "" + +#: stock/templates/stock/location.html:64 +msgid "Scan stock container into this location" +msgstr "" + +#: stock/templates/stock/location.html:64 +msgid "Scan In Container" +msgstr "" + +#: stock/templates/stock/location.html:75 +msgid "Print Location Report" +msgstr "" + +#: stock/templates/stock/location.html:104 +msgid "Location actions" +msgstr "" + +#: stock/templates/stock/location.html:106 +msgid "Edit location" +msgstr "" + +#: stock/templates/stock/location.html:108 +msgid "Delete location" +msgstr "" + +#: stock/templates/stock/location.html:138 +msgid "Top level stock location" +msgstr "" + +#: stock/templates/stock/location.html:144 +msgid "Location Owner" +msgstr "" + +#: stock/templates/stock/location.html:148 +msgid "You are not in the list of owners of this location. This stock location cannot be edited." +msgstr "" + +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 +msgid "Create new stock location" +msgstr "" + +#: stock/templates/stock/location.html:225 +msgid "New Location" +msgstr "" + +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 +msgid "stock location" +msgstr "" + +#: stock/templates/stock/location.html:317 +msgid "Scanned stock container into this location" +msgstr "" + +#: stock/templates/stock/location.html:390 +msgid "Stock Location QR Code" +msgstr "" + +#: stock/templates/stock/location.html:401 +msgid "Link Barcode to Stock Location" +msgstr "" + +#: stock/templates/stock/stock_app_base.html:16 +msgid "Loading..." +msgstr "" + +#: stock/templates/stock/stock_sidebar.html:5 +msgid "Stock Tracking" +msgstr "" + +#: stock/templates/stock/stock_sidebar.html:8 +msgid "Allocations" +msgstr "" + +#: stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 +msgid "Permission Denied" +msgstr "" + +#: templates/403.html:15 +msgid "You do not have permission to view this page." +msgstr "" + +#: templates/403_csrf.html:11 +msgid "Authentication Failure" +msgstr "" + +#: templates/403_csrf.html:14 +msgid "You have been logged out from InvenTree." +msgstr "" + +#: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 +#: templates/navbar.html:150 +msgid "Login" +msgstr "" + +#: templates/404.html:6 templates/404.html:12 +msgid "Page Not Found" +msgstr "" + +#: templates/404.html:15 +msgid "The requested page does not exist" +msgstr "" + +#: templates/500.html:6 templates/500.html:12 +msgid "Internal Server Error" +msgstr "" + +#: templates/500.html:15 +#, python-format +msgid "The %(inventree_title)s server raised an internal error" +msgstr "" + +#: templates/500.html:16 +msgid "Refer to the error log in the admin interface for further details" +msgstr "" + +#: templates/503.html:11 templates/503.html:33 +msgid "Site is in Maintenance" +msgstr "" + +#: templates/503.html:39 +msgid "The site is currently in maintenance and should be up again soon!" +msgstr "" + +#: templates/InvenTree/index.html:7 +msgid "Index" +msgstr "" + +#: templates/InvenTree/index.html:39 +msgid "Subscribed Parts" +msgstr "" + +#: templates/InvenTree/index.html:52 +msgid "Subscribed Categories" +msgstr "" + +#: templates/InvenTree/index.html:62 +msgid "Latest Parts" +msgstr "" + +#: templates/InvenTree/index.html:77 +msgid "BOM Waiting Validation" +msgstr "" + +#: templates/InvenTree/index.html:106 +msgid "Recently Updated" +msgstr "" + +#: templates/InvenTree/index.html:134 +msgid "Depleted Stock" +msgstr "" + +#: templates/InvenTree/index.html:148 +msgid "Required for Build Orders" +msgstr "" + +#: templates/InvenTree/index.html:156 +msgid "Expired Stock" +msgstr "" + +#: templates/InvenTree/index.html:172 +msgid "Stale Stock" +msgstr "" + +#: templates/InvenTree/index.html:199 +msgid "Build Orders In Progress" +msgstr "" + +#: templates/InvenTree/index.html:210 +msgid "Overdue Build Orders" +msgstr "" + +#: templates/InvenTree/index.html:230 +msgid "Outstanding Purchase Orders" +msgstr "" + +#: templates/InvenTree/index.html:241 +msgid "Overdue Purchase Orders" +msgstr "" + +#: templates/InvenTree/index.html:262 +msgid "Outstanding Sales Orders" +msgstr "" + +#: templates/InvenTree/index.html:273 +msgid "Overdue Sales Orders" +msgstr "" + +#: templates/InvenTree/index.html:299 +msgid "InvenTree News" +msgstr "" + +#: templates/InvenTree/index.html:301 +msgid "Current News" +msgstr "" + +#: templates/InvenTree/notifications/history.html:9 +msgid "Notification History" +msgstr "" + +#: templates/InvenTree/notifications/history.html:13 +#: templates/InvenTree/notifications/history.html:14 +#: templates/InvenTree/notifications/notifications.html:75 +msgid "Delete Notifications" +msgstr "" + +#: templates/InvenTree/notifications/inbox.html:9 +msgid "Pending Notifications" +msgstr "" + +#: templates/InvenTree/notifications/inbox.html:13 +#: templates/InvenTree/notifications/inbox.html:14 +msgid "Mark all as read" +msgstr "" + +#: templates/InvenTree/notifications/notifications.html:10 +#: templates/InvenTree/notifications/sidebar.html:5 +#: templates/InvenTree/settings/sidebar.html:17 +#: templates/InvenTree/settings/sidebar.html:37 templates/notifications.html:5 +msgid "Notifications" +msgstr "" + +#: templates/InvenTree/notifications/notifications.html:38 +msgid "No unread notifications found" +msgstr "" + +#: templates/InvenTree/notifications/notifications.html:58 +msgid "No notification history found" +msgstr "" + +#: templates/InvenTree/notifications/notifications.html:65 +msgid "Delete all read notifications" +msgstr "" + +#: templates/InvenTree/notifications/notifications.html:89 +#: templates/js/translated/notification.js:85 +msgid "Delete Notification" +msgstr "" + +#: templates/InvenTree/notifications/sidebar.html:8 +msgid "Inbox" +msgstr "" + +#: templates/InvenTree/notifications/sidebar.html:10 +msgid "History" +msgstr "" + +#: templates/InvenTree/search.html:8 +msgid "Search Results" +msgstr "" + +#: templates/InvenTree/settings/barcode.html:8 +msgid "Barcode Settings" +msgstr "" + +#: templates/InvenTree/settings/build.html:8 +msgid "Build Order Settings" +msgstr "" + +#: templates/InvenTree/settings/category.html:7 +msgid "Category Settings" +msgstr "" + +#: templates/InvenTree/settings/global.html:8 +msgid "Server Settings" +msgstr "" + +#: templates/InvenTree/settings/label.html:8 +#: templates/InvenTree/settings/user_labels.html:9 +msgid "Label Settings" +msgstr "" + +#: templates/InvenTree/settings/login.html:8 +msgid "Login Settings" +msgstr "" + +#: templates/InvenTree/settings/login.html:15 +msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" +msgstr "" + +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 +#: templates/socialaccount/signup.html:5 +msgid "Signup" +msgstr "" + +#: templates/InvenTree/settings/login.html:36 +msgid "Single Sign On" +msgstr "" + +#: templates/InvenTree/settings/mixins/settings.html:5 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:147 +msgid "Settings" +msgstr "" + +#: templates/InvenTree/settings/mixins/urls.html:5 +msgid "URLs" +msgstr "" + +#: templates/InvenTree/settings/mixins/urls.html:8 +#, python-format +msgid "The Base-URL for this plugin is %(base)s." +msgstr "" + +#: templates/InvenTree/settings/mixins/urls.html:14 +msgid "URL" +msgstr "" + +#: templates/InvenTree/settings/mixins/urls.html:23 +msgid "Open in new tab" +msgstr "" + +#: templates/InvenTree/settings/notifications.html:9 +#: templates/InvenTree/settings/user_notifications.html:9 +msgid "Notification Settings" +msgstr "" + +#: templates/InvenTree/settings/notifications.html:18 +msgid "Slug" +msgstr "" + +#: templates/InvenTree/settings/part.html:7 +msgid "Part Settings" +msgstr "" + +#: templates/InvenTree/settings/part.html:43 +msgid "Part Import" +msgstr "" + +#: templates/InvenTree/settings/part.html:47 +msgid "Import Part" +msgstr "" + +#: templates/InvenTree/settings/part_parameters.html:20 +msgid "Part Parameter Templates" +msgstr "" + +#: templates/InvenTree/settings/part_stocktake.html:7 +msgid "Stocktake Settings" +msgstr "" + +#: templates/InvenTree/settings/part_stocktake.html:25 +msgid "Stocktake Reports" +msgstr "" + +#: templates/InvenTree/settings/physical_units.html:8 +#: templates/InvenTree/settings/sidebar.html:35 +msgid "Physical Units" +msgstr "" + +#: templates/InvenTree/settings/physical_units.html:12 +msgid "Add Unit" +msgstr "" + +#: templates/InvenTree/settings/plugin.html:9 +#: templates/InvenTree/settings/sidebar.html:64 +msgid "Plugin Settings" +msgstr "" + +#: templates/InvenTree/settings/plugin.html:15 +msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." +msgstr "" + +#: templates/InvenTree/settings/plugin.html:38 +#: templates/InvenTree/settings/sidebar.html:66 +msgid "Plugins" +msgstr "" + +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 +#: templates/js/translated/plugin.js:151 +msgid "Install Plugin" +msgstr "" + +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 +#: templates/js/translated/plugin.js:224 +msgid "Reload Plugins" +msgstr "" + +#: templates/InvenTree/settings/plugin.html:58 +msgid "External plugins are not enabled for this InvenTree installation" +msgstr "" + +#: templates/InvenTree/settings/plugin.html:73 +msgid "Plugin Error Stack" +msgstr "" + +#: templates/InvenTree/settings/plugin.html:82 +msgid "Stage" +msgstr "" + +#: templates/InvenTree/settings/plugin.html:84 +#: templates/js/translated/notification.js:76 +msgid "Message" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:16 +msgid "Plugin information" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:47 +msgid "no version information supplied" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:61 +msgid "License" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:70 +msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running." +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:76 +msgid "Package information" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:82 +msgid "Installation method" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:85 +msgid "This plugin was installed as a package" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:87 +msgid "This plugin was found in a local server path" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:93 +msgid "Installation path" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:68 +#: templates/js/translated/table_filters.js:496 +msgid "Builtin" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:101 +msgid "This is a builtin plugin which cannot be disabled" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:107 +#: templates/js/translated/plugin.js:72 +#: templates/js/translated/table_filters.js:500 +msgid "Sample" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:108 +msgid "This is a sample plugin" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:113 +msgid "Commit Author" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:117 +#: templates/about.html:36 +msgid "Commit Date" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:121 +#: templates/about.html:29 +msgid "Commit Hash" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:125 +msgid "Commit Message" +msgstr "" + +#: templates/InvenTree/settings/po.html:7 +msgid "Purchase Order Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:7 +msgid "Pricing Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:35 +msgid "Exchange Rates" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:39 +msgid "Update Now" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:47 +#: templates/InvenTree/settings/pricing.html:51 +msgid "Last Update" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:51 +msgid "Never" +msgstr "" + +#: templates/InvenTree/settings/project_codes.html:8 +msgid "Project Code Settings" +msgstr "" + +#: templates/InvenTree/settings/project_codes.html:21 +#: templates/InvenTree/settings/sidebar.html:33 +msgid "Project Codes" +msgstr "" + +#: templates/InvenTree/settings/project_codes.html:25 +#: templates/InvenTree/settings/settings_staff_js.html:216 +msgid "New Project Code" +msgstr "" + +#: templates/InvenTree/settings/report.html:8 +#: templates/InvenTree/settings/user_reporting.html:9 +msgid "Report Settings" +msgstr "" + +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + +#: templates/InvenTree/settings/setting.html:31 +msgid "No value set" +msgstr "" + +#: templates/InvenTree/settings/setting.html:46 +msgid "Edit setting" +msgstr "" + +#: templates/InvenTree/settings/settings_js.html:58 +msgid "Edit Plugin Setting" +msgstr "" + +#: templates/InvenTree/settings/settings_js.html:60 +msgid "Edit Notification Setting" +msgstr "" + +#: templates/InvenTree/settings/settings_js.html:63 +msgid "Edit Global Setting" +msgstr "" + +#: templates/InvenTree/settings/settings_js.html:65 +msgid "Edit User Setting" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:49 +msgid "Rate" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:81 +#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:411 +msgid "Delete" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:95 +msgid "Edit Custom Unit" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:110 +msgid "Delete Custom Unit" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:124 +msgid "New Custom Unit" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:140 +msgid "No project codes found" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:158 +#: templates/js/translated/build.js:2228 +msgid "group" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:175 +#: templates/InvenTree/settings/settings_staff_js.html:189 +msgid "Edit Project Code" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:176 +#: templates/InvenTree/settings/settings_staff_js.html:203 +msgid "Delete Project Code" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:285 +msgid "No category parameter templates found" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:308 +#: templates/js/translated/part.js:1646 +msgid "Edit Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:309 +#: templates/js/translated/part.js:1647 +msgid "Delete Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:326 +msgid "Edit Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:353 +msgid "Delete Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:388 +msgid "Create Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:418 +msgid "Create Part Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:440 +msgid "No stock location types found" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:461 +msgid "Location count" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:466 +#: templates/InvenTree/settings/settings_staff_js.html:480 +msgid "Edit Location Type" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:467 +msgid "Delete Location type" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:490 +msgid "Delete Location Type" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:500 +#: templates/InvenTree/settings/stock.html:38 +msgid "New Location Type" +msgstr "" + +#: templates/InvenTree/settings/sidebar.html:6 +#: templates/InvenTree/settings/user_settings.html:9 +msgid "User Settings" +msgstr "" + +#: templates/InvenTree/settings/sidebar.html:9 +msgid "Account" +msgstr "" + +#: templates/InvenTree/settings/sidebar.html:11 +msgid "Display" +msgstr "" + +#: templates/InvenTree/settings/sidebar.html:13 +msgid "Home Page" +msgstr "" + +#: templates/InvenTree/settings/sidebar.html:15 +#: templates/js/translated/forms.js:2167 templates/js/translated/tables.js:543 +#: templates/navbar.html:107 templates/search.html:8 +#: templates/search_form.html:6 templates/search_form.html:7 +msgid "Search" +msgstr "" + +#: templates/InvenTree/settings/sidebar.html:19 +#: templates/InvenTree/settings/sidebar.html:43 +msgid "Reporting" +msgstr "" + +#: templates/InvenTree/settings/sidebar.html:24 +msgid "Global Settings" +msgstr "" + +#: templates/InvenTree/settings/sidebar.html:27 templates/stats.html:9 +msgid "Server" +msgstr "" + +#: templates/InvenTree/settings/sidebar.html:41 +msgid "Labels" +msgstr "" + +#: templates/InvenTree/settings/sidebar.html:45 +msgid "Categories" +msgstr "" + +#: templates/InvenTree/settings/so.html:7 +msgid "Sales Order Settings" +msgstr "" + +#: templates/InvenTree/settings/stock.html:7 +msgid "Stock Settings" +msgstr "" + +#: templates/InvenTree/settings/stock.html:34 +msgid "Stock Location Types" +msgstr "" + +#: templates/InvenTree/settings/user.html:13 +msgid "Account Settings" +msgstr "" + +#: templates/InvenTree/settings/user.html:19 +#: templates/account/password_reset_from_key.html:4 +#: templates/account/password_reset_from_key.html:7 +msgid "Change Password" +msgstr "" + +#: templates/InvenTree/settings/user.html:33 +msgid "Username" +msgstr "" + +#: templates/InvenTree/settings/user.html:37 +msgid "First Name" +msgstr "" + +#: templates/InvenTree/settings/user.html:41 +msgid "Last Name" +msgstr "" + +#: templates/InvenTree/settings/user.html:55 +msgid "The following email addresses are associated with your account:" +msgstr "" + +#: templates/InvenTree/settings/user.html:76 +msgid "Verified" +msgstr "" + +#: templates/InvenTree/settings/user.html:78 +msgid "Unverified" +msgstr "" + +#: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:957 +msgid "Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:86 +msgid "Make Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:87 +msgid "Re-send Verification" +msgstr "" + +#: templates/InvenTree/settings/user.html:96 +msgid "Warning:" +msgstr "" + +#: templates/InvenTree/settings/user.html:97 +msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." +msgstr "" + +#: templates/InvenTree/settings/user.html:105 +msgid "Add Email Address" +msgstr "" + +#: templates/InvenTree/settings/user.html:110 +msgid "Add Email" +msgstr "" + +#: templates/InvenTree/settings/user.html:120 +msgid "Multifactor" +msgstr "" + +#: templates/InvenTree/settings/user.html:125 +msgid "You have these factors available:" +msgstr "" + +#: templates/InvenTree/settings/user.html:135 +msgid "TOTP" +msgstr "" + +#: templates/InvenTree/settings/user.html:141 +msgid "Static" +msgstr "" + +#: templates/InvenTree/settings/user.html:150 +msgid "Multifactor authentication is not configured for your account" +msgstr "" + +#: templates/InvenTree/settings/user.html:157 +msgid "Change factors" +msgstr "" + +#: templates/InvenTree/settings/user.html:158 +msgid "Setup multifactor" +msgstr "" + +#: templates/InvenTree/settings/user.html:160 +msgid "Remove multifactor" +msgstr "" + +#: templates/InvenTree/settings/user.html:171 +msgid "Active Sessions" +msgstr "" + +#: templates/InvenTree/settings/user.html:177 +msgid "Log out active sessions (except this one)" +msgstr "" + +#: templates/InvenTree/settings/user.html:178 +msgid "Log Out Active Sessions" +msgstr "" + +#: templates/InvenTree/settings/user.html:187 +msgid "unknown on unknown" +msgstr "" + +#: templates/InvenTree/settings/user.html:188 +msgid "unknown" +msgstr "" + +#: templates/InvenTree/settings/user.html:192 +msgid "IP Address" +msgstr "" + +#: templates/InvenTree/settings/user.html:193 +msgid "Device" +msgstr "" + +#: templates/InvenTree/settings/user.html:194 +msgid "Last Activity" +msgstr "" + +#: templates/InvenTree/settings/user.html:207 +#, python-format +msgid "%(time)s ago (this session)" +msgstr "" + +#: templates/InvenTree/settings/user.html:209 +#, python-format +msgid "%(time)s ago" +msgstr "" + +#: templates/InvenTree/settings/user.html:223 +msgid "Do you really want to remove the selected email address?" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:9 +msgid "Display Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:29 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:39 +msgid "Select theme" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:50 +msgid "Set Theme" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:58 +msgid "Language Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:67 +msgid "Select language" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:83 +#, python-format +msgid "%(lang_translated)s%% translated" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:85 +msgid "No translations available" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:92 +msgid "Set Language" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:95 +msgid "Some languages are not complete" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:97 +msgid "Show only sufficient" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:99 +msgid "and hidden." +msgstr "" + +#: templates/InvenTree/settings/user_display.html:99 +msgid "Show them too" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:106 +msgid "Help the translation efforts!" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:107 +msgid "Native language translation of the web application is community contributed via crowdin. Contributions are welcomed and encouraged." +msgstr "" + +#: templates/InvenTree/settings/user_display.html:108 +msgid "InvenTree Translation Project" +msgstr "" + +#: templates/InvenTree/settings/user_homepage.html:9 +msgid "Home Page Settings" +msgstr "" + +#: templates/InvenTree/settings/user_search.html:9 +msgid "Search Settings" +msgstr "" + +#: templates/InvenTree/settings/user_sso.html:9 +msgid "Single Sign On Accounts" +msgstr "" + +#: templates/InvenTree/settings/user_sso.html:16 +msgid "You can sign in to your account using any of the following third party accounts:" +msgstr "" + +#: templates/InvenTree/settings/user_sso.html:52 +msgid "There are no social network accounts connected to this account." +msgstr "" + +#: templates/InvenTree/settings/user_sso.html:58 +msgid "Add SSO Account" +msgstr "" + +#: templates/InvenTree/settings/user_sso.html:67 +msgid "Single Sign On is not enabled for this server" +msgstr "" + +#: templates/about.html:9 +msgid "InvenTree Version" +msgstr "" + +#: templates/about.html:14 +msgid "Development Version" +msgstr "" + +#: templates/about.html:17 +msgid "Up to Date" +msgstr "" + +#: templates/about.html:19 +msgid "Update Available" +msgstr "" + +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 +msgid "InvenTree Documentation" +msgstr "" + +#: templates/about.html:54 +msgid "API Version" +msgstr "" + +#: templates/about.html:59 +msgid "Python Version" +msgstr "" + +#: templates/about.html:64 +msgid "Django Version" +msgstr "" + +#: templates/about.html:69 +msgid "View Code on GitHub" +msgstr "" + +#: templates/about.html:74 +msgid "Credits" +msgstr "" + +#: templates/about.html:79 +msgid "Mobile App" +msgstr "" + +#: templates/about.html:84 +msgid "Submit Bug Report" +msgstr "" + +#: templates/about.html:91 templates/clip.html:4 +#: templates/js/translated/helpers.js:589 +msgid "copy to clipboard" +msgstr "" + +#: templates/about.html:91 +msgid "copy version information" +msgstr "" + +#: templates/account/base.html:66 templates/navbar.html:17 +msgid "InvenTree logo" +msgstr "" + +#: templates/account/email_confirm.html:6 +#: templates/account/email_confirm.html:9 +msgid "Confirm Email Address" +msgstr "" + +#: templates/account/email_confirm.html:15 +#, python-format +msgid "Please confirm that %(email)s is an email address for user %(user_display)s." +msgstr "" + +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 +msgid "Confirm" +msgstr "" + +#: templates/account/email_confirm.html:29 +#, python-format +msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." +msgstr "" + +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 +msgid "Sign In" +msgstr "" + +#: templates/account/login.html:23 +msgid "Not a member?" +msgstr "" + +#: templates/account/login.html:25 templates/account/signup.html:11 +#: templates/account/signup.html:22 templates/socialaccount/signup.html:8 +#: templates/socialaccount/signup.html:23 +msgid "Sign Up" +msgstr "" + +#: templates/account/login.html:47 +msgid "Forgot Password?" +msgstr "" + +#: templates/account/login.html:55 +msgid "or log in with" +msgstr "" + +#: templates/account/logout.html:5 templates/account/logout.html:8 +#: templates/account/logout.html:20 +msgid "Sign Out" +msgstr "" + +#: templates/account/logout.html:10 +msgid "Are you sure you want to sign out?" +msgstr "" + +#: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 +msgid "Return to Site" +msgstr "" + +#: templates/account/password_reset.html:5 +#: templates/account/password_reset.html:12 +msgid "Password Reset" +msgstr "" + +#: templates/account/password_reset.html:18 +msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." +msgstr "" + +#: templates/account/password_reset.html:23 +msgid "Reset My Password" +msgstr "" + +#: templates/account/password_reset.html:27 templates/account/signup.html:37 +msgid "This function is currently disabled. Please contact an administrator." +msgstr "" + +#: templates/account/password_reset_from_key.html:7 +msgid "Bad Token" +msgstr "" + +#: templates/account/password_reset_from_key.html:11 +#, python-format +msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." +msgstr "" + +#: templates/account/password_reset_from_key.html:18 +msgid "Change password" +msgstr "" + +#: templates/account/password_reset_from_key.html:22 +msgid "Your password is now changed." +msgstr "" + +#: templates/account/signup.html:13 +#, python-format +msgid "Already have an account? Then please sign in." +msgstr "" + +#: templates/account/signup.html:28 +msgid "Use a SSO-provider for signup" +msgstr "" + +#: templates/account/signup_closed.html:5 +#: templates/account/signup_closed.html:8 +msgid "Sign Up Closed" +msgstr "" + +#: templates/account/signup_closed.html:10 +msgid "Sign up is currently closed." +msgstr "" + +#: templates/account/signup_closed.html:15 +#: templates/socialaccount/authentication_error.html:19 +#: templates/socialaccount/login.html:38 templates/socialaccount/signup.html:30 +msgid "Return to login page" +msgstr "" + +#: templates/admin_button.html:8 +msgid "View in administration panel" +msgstr "" + +#: templates/allauth_2fa/authenticate.html:5 +msgid "Two-Factor Authentication" +msgstr "" + +#: templates/allauth_2fa/authenticate.html:13 +msgid "Authenticate" +msgstr "" + +#: templates/allauth_2fa/backup_tokens.html:6 +msgid "Two-Factor Authentication Backup Tokens" +msgstr "" + +#: templates/allauth_2fa/backup_tokens.html:17 +msgid "Backup tokens have been generated, but are not revealed here for security reasons. Press the button below to generate new ones." +msgstr "" + +#: templates/allauth_2fa/backup_tokens.html:20 +msgid "No backup tokens are available. Press the button below to generate some." +msgstr "" + +#: templates/allauth_2fa/backup_tokens.html:28 +msgid "Generate Tokens" +msgstr "" + +#: templates/allauth_2fa/remove.html:6 +msgid "Disable Two-Factor Authentication" +msgstr "" + +#: templates/allauth_2fa/remove.html:9 +msgid "Are you sure?" +msgstr "" + +#: templates/allauth_2fa/remove.html:17 +msgid "Disable 2FA" +msgstr "" + +#: templates/allauth_2fa/setup.html:6 +msgid "Setup Two-Factor Authentication" +msgstr "" + +#: templates/allauth_2fa/setup.html:10 +msgid "Step 1" +msgstr "" + +#: templates/allauth_2fa/setup.html:14 +msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." +msgstr "" + +#: templates/allauth_2fa/setup.html:20 +msgid "Secret: " +msgstr "" + +#: templates/allauth_2fa/setup.html:24 +msgid "Step 2" +msgstr "" + +#: templates/allauth_2fa/setup.html:28 +msgid "Input a token generated by the app:" +msgstr "" + +#: templates/allauth_2fa/setup.html:38 +msgid "Verify" +msgstr "" + +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:70 +msgid "Add Link" +msgstr "" + +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:48 +msgid "Add Attachment" +msgstr "" + +#: templates/barcode_data.html:5 +msgid "Barcode Identifier" +msgstr "" + +#: templates/base.html:103 +msgid "Server Restart Required" +msgstr "" + +#: templates/base.html:106 +msgid "A configuration option has been changed which requires a server restart" +msgstr "" + +#: templates/base.html:106 templates/base.html:116 +msgid "Contact your system administrator for further information" +msgstr "" + +#: templates/base.html:113 +msgid "Pending Database Migrations" +msgstr "" + +#: templates/base.html:116 +msgid "There are pending database migrations which require attention" +msgstr "" + +#: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 +#: templates/email/new_order_assigned.html:9 +#: templates/email/overdue_build_order.html:9 +#: templates/email/overdue_purchase_order.html:9 +#: templates/email/overdue_sales_order.html:9 +#: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 +msgid "Click on the following link to view this order" +msgstr "" + +#: templates/email/build_order_required_stock.html:7 +msgid "Stock is required for the following build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:8 +#, python-format +msgid "Build order %(build)s - building %(quantity)s x %(part)s" +msgstr "" + +#: templates/email/build_order_required_stock.html:10 +msgid "Click on the following link to view this build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:14 +msgid "The following parts are low on required stock" +msgstr "" + +#: templates/email/build_order_required_stock.html:18 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +msgid "Required Quantity" +msgstr "" + +#: templates/email/build_order_required_stock.html:38 +#: templates/email/low_stock_notification.html:30 +msgid "You are receiving this email because you are subscribed to notifications for this part " +msgstr "" + +#: templates/email/low_stock_notification.html:9 +msgid "Click on the following link to view this part" +msgstr "" + +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/part.js:3219 +msgid "Minimum Quantity" +msgstr "" + +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1130 +msgid "No Response" +msgstr "" + +#: templates/js/translated/api.js:226 templates/js/translated/modals.js:1131 +msgid "No response from the InvenTree server" +msgstr "" + +#: templates/js/translated/api.js:232 +msgid "Error 400: Bad request" +msgstr "" + +#: templates/js/translated/api.js:233 +msgid "API request returned error code 400" +msgstr "" + +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1140 +msgid "Error 401: Not Authenticated" +msgstr "" + +#: templates/js/translated/api.js:238 templates/js/translated/modals.js:1141 +msgid "Authentication credentials not supplied" +msgstr "" + +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1145 +msgid "Error 403: Permission Denied" +msgstr "" + +#: templates/js/translated/api.js:243 templates/js/translated/modals.js:1146 +msgid "You do not have the required permissions to access this function" +msgstr "" + +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1150 +msgid "Error 404: Resource Not Found" +msgstr "" + +#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1151 +msgid "The requested resource could not be located on the server" +msgstr "" + +#: templates/js/translated/api.js:252 +msgid "Error 405: Method Not Allowed" +msgstr "" + +#: templates/js/translated/api.js:253 +msgid "HTTP method not allowed at URL" +msgstr "" + +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1155 +msgid "Error 408: Timeout" +msgstr "" + +#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1156 +msgid "Connection timeout while requesting data from server" +msgstr "" + +#: templates/js/translated/api.js:261 +msgid "Error 503: Service Unavailable" +msgstr "" + +#: templates/js/translated/api.js:262 +msgid "The server is currently unavailable" +msgstr "" + +#: templates/js/translated/api.js:265 +msgid "Unhandled Error Code" +msgstr "" + +#: templates/js/translated/api.js:266 +msgid "Error code" +msgstr "" + +#: templates/js/translated/attachment.js:114 +msgid "All selected attachments will be deleted" +msgstr "" + +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 +msgid "No attachments found" +msgstr "" + +#: templates/js/translated/attachment.js:315 +msgid "Edit Attachment" +msgstr "" + +#: templates/js/translated/attachment.js:346 +msgid "Upload Date" +msgstr "" + +#: templates/js/translated/attachment.js:366 +msgid "Edit attachment" +msgstr "" + +#: templates/js/translated/attachment.js:374 +msgid "Delete attachment" +msgstr "" + +#: templates/js/translated/barcode.js:43 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: templates/js/translated/barcode.js:45 +msgid "Enter barcode data" +msgstr "" + +#: templates/js/translated/barcode.js:59 +msgid "Scan barcode using connected webcam" +msgstr "" + +#: templates/js/translated/barcode.js:138 +msgid "Enter optional notes for stock transfer" +msgstr "" + +#: templates/js/translated/barcode.js:139 +msgid "Enter notes" +msgstr "" + +#: templates/js/translated/barcode.js:188 +msgid "Server error" +msgstr "" + +#: templates/js/translated/barcode.js:217 +msgid "Unknown response from server" +msgstr "" + +#: templates/js/translated/barcode.js:252 +#: templates/js/translated/modals.js:1120 +msgid "Invalid server response" +msgstr "" + +#: templates/js/translated/barcode.js:372 +msgid "Scan barcode data" +msgstr "" + +#: templates/js/translated/barcode.js:420 templates/navbar.html:114 +msgid "Scan Barcode" +msgstr "" + +#: templates/js/translated/barcode.js:458 +msgid "No URL in response" +msgstr "" + +#: templates/js/translated/barcode.js:498 +msgid "This will remove the link to the associated barcode" +msgstr "" + +#: templates/js/translated/barcode.js:504 +msgid "Unlink" +msgstr "" + +#: templates/js/translated/barcode.js:567 templates/js/translated/stock.js:1158 +msgid "Remove stock item" +msgstr "" + +#: templates/js/translated/barcode.js:610 +msgid "Scan Stock Items Into Location" +msgstr "" + +#: templates/js/translated/barcode.js:612 +msgid "Scan stock item barcode to check in to this location" +msgstr "" + +#: templates/js/translated/barcode.js:615 +#: templates/js/translated/barcode.js:812 +msgid "Check In" +msgstr "" + +#: templates/js/translated/barcode.js:647 +msgid "No barcode provided" +msgstr "" + +#: templates/js/translated/barcode.js:687 +msgid "Stock Item already scanned" +msgstr "" + +#: templates/js/translated/barcode.js:691 +msgid "Stock Item already in this location" +msgstr "" + +#: templates/js/translated/barcode.js:698 +msgid "Added stock item" +msgstr "" + +#: templates/js/translated/barcode.js:707 +msgid "Barcode does not match valid stock item" +msgstr "" + +#: templates/js/translated/barcode.js:726 +msgid "Scan Stock Container Into Location" +msgstr "" + +#: templates/js/translated/barcode.js:728 +msgid "Scan stock container barcode to check in to this location" +msgstr "" + +#: templates/js/translated/barcode.js:762 +msgid "Barcode does not match valid stock location" +msgstr "" + +#: templates/js/translated/barcode.js:806 +msgid "Check Into Location" +msgstr "" + +#: templates/js/translated/barcode.js:875 +#: templates/js/translated/barcode.js:884 +msgid "Barcode does not match a valid location" +msgstr "" + +#: templates/js/translated/bom.js:78 +msgid "Create BOM Item" +msgstr "" + +#: templates/js/translated/bom.js:132 +msgid "Display row data" +msgstr "" + +#: templates/js/translated/bom.js:188 +msgid "Row Data" +msgstr "" + +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 +#: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 +#: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 +#: templates/js/translated/purchase_order.js:797 templates/modals.html:15 +#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 +msgid "Close" +msgstr "" + +#: templates/js/translated/bom.js:306 +msgid "Download BOM Template" +msgstr "" + +#: templates/js/translated/bom.js:351 +msgid "Multi Level BOM" +msgstr "" + +#: templates/js/translated/bom.js:352 +msgid "Include BOM data for subassemblies" +msgstr "" + +#: templates/js/translated/bom.js:357 +msgid "Levels" +msgstr "" + +#: templates/js/translated/bom.js:358 +msgid "Select maximum number of BOM levels to export (0 = all levels)" +msgstr "" + +#: templates/js/translated/bom.js:365 +msgid "Include Alternative Parts" +msgstr "" + +#: templates/js/translated/bom.js:366 +msgid "Include alternative parts in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:371 +msgid "Include Parameter Data" +msgstr "" + +#: templates/js/translated/bom.js:372 +msgid "Include part parameter data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:377 +msgid "Include Stock Data" +msgstr "" + +#: templates/js/translated/bom.js:378 +msgid "Include part stock data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:383 +msgid "Include Manufacturer Data" +msgstr "" + +#: templates/js/translated/bom.js:384 +msgid "Include part manufacturer data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:389 +msgid "Include Supplier Data" +msgstr "" + +#: templates/js/translated/bom.js:390 +msgid "Include part supplier data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:395 +msgid "Include Pricing Data" +msgstr "" + +#: templates/js/translated/bom.js:396 +msgid "Include part pricing data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:591 +msgid "Remove substitute part" +msgstr "" + +#: templates/js/translated/bom.js:645 +msgid "Select and add a new substitute part using the input below" +msgstr "" + +#: templates/js/translated/bom.js:656 +msgid "Are you sure you wish to remove this substitute part link?" +msgstr "" + +#: templates/js/translated/bom.js:662 +msgid "Remove Substitute Part" +msgstr "" + +#: templates/js/translated/bom.js:701 +msgid "Add Substitute" +msgstr "" + +#: templates/js/translated/bom.js:702 +msgid "Edit BOM Item Substitutes" +msgstr "" + +#: templates/js/translated/bom.js:764 +msgid "All selected BOM items will be deleted" +msgstr "" + +#: templates/js/translated/bom.js:780 +msgid "Delete selected BOM items?" +msgstr "" + +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:936 +msgid "Load BOM for subassembly" +msgstr "" + +#: templates/js/translated/bom.js:946 +msgid "Substitutes Available" +msgstr "" + +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +msgid "Variant stock allowed" +msgstr "" + +#: templates/js/translated/bom.js:1014 +msgid "Substitutes" +msgstr "" + +#: templates/js/translated/bom.js:1139 +msgid "BOM pricing is complete" +msgstr "" + +#: templates/js/translated/bom.js:1144 +msgid "BOM pricing is incomplete" +msgstr "" + +#: templates/js/translated/bom.js:1151 +msgid "No pricing available" +msgstr "" + +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +msgid "External stock" +msgstr "" + +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/sales_order.js:1946 +msgid "No Stock Available" +msgstr "" + +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +msgid "Includes variant and substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 +#: templates/js/translated/part.js:1257 +#: templates/js/translated/sales_order.js:1943 +msgid "Includes variant stock" +msgstr "" + +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +msgid "Includes substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +msgid "Consumable item" +msgstr "" + +#: templates/js/translated/bom.js:1285 +msgid "Validate BOM Item" +msgstr "" + +#: templates/js/translated/bom.js:1287 +msgid "This line has been validated" +msgstr "" + +#: templates/js/translated/bom.js:1289 +msgid "Edit substitute parts" +msgstr "" + +#: templates/js/translated/bom.js:1291 templates/js/translated/bom.js:1486 +msgid "Edit BOM Item" +msgstr "" + +#: templates/js/translated/bom.js:1293 +msgid "Delete BOM Item" +msgstr "" + +#: templates/js/translated/bom.js:1313 +msgid "View BOM" +msgstr "" + +#: templates/js/translated/bom.js:1397 +msgid "No BOM items found" +msgstr "" + +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +msgid "Required Part" +msgstr "" + +#: templates/js/translated/bom.js:1683 +msgid "Inherited from parent BOM" +msgstr "" + +#: templates/js/translated/build.js:142 +msgid "Edit Build Order" +msgstr "" + +#: templates/js/translated/build.js:190 +msgid "Create Build Order" +msgstr "" + +#: templates/js/translated/build.js:222 +msgid "Cancel Build Order" +msgstr "" + +#: templates/js/translated/build.js:231 +msgid "Are you sure you wish to cancel this build?" +msgstr "" + +#: templates/js/translated/build.js:237 +msgid "Stock items have been allocated to this build order" +msgstr "" + +#: templates/js/translated/build.js:244 +msgid "There are incomplete outputs remaining for this build order" +msgstr "" + +#: templates/js/translated/build.js:296 +msgid "Build order is ready to be completed" +msgstr "" + +#: templates/js/translated/build.js:304 +msgid "This build order cannot be completed as there are incomplete outputs" +msgstr "" + +#: templates/js/translated/build.js:309 +msgid "Build Order is incomplete" +msgstr "" + +#: templates/js/translated/build.js:327 +msgid "Complete Build Order" +msgstr "" + +#: templates/js/translated/build.js:368 templates/js/translated/stock.js:119 +#: templates/js/translated/stock.js:294 +msgid "Next available serial number" +msgstr "" + +#: templates/js/translated/build.js:370 templates/js/translated/stock.js:121 +#: templates/js/translated/stock.js:296 +msgid "Latest serial number" +msgstr "" + +#: templates/js/translated/build.js:379 +msgid "The Bill of Materials contains trackable parts" +msgstr "" + +#: templates/js/translated/build.js:380 +msgid "Build outputs must be generated individually" +msgstr "" + +#: templates/js/translated/build.js:388 +msgid "Trackable parts can have serial numbers specified" +msgstr "" + +#: templates/js/translated/build.js:389 +msgid "Enter serial numbers to generate multiple single build outputs" +msgstr "" + +#: templates/js/translated/build.js:396 +msgid "Create Build Output" +msgstr "" + +#: templates/js/translated/build.js:427 +msgid "Allocate stock items to this build output" +msgstr "" + +#: templates/js/translated/build.js:435 +msgid "Deallocate stock from build output" +msgstr "" + +#: templates/js/translated/build.js:444 +msgid "Complete build output" +msgstr "" + +#: templates/js/translated/build.js:452 +msgid "Scrap build output" +msgstr "" + +#: templates/js/translated/build.js:459 +msgid "Delete build output" +msgstr "" + +#: templates/js/translated/build.js:479 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" +msgstr "" + +#: templates/js/translated/build.js:497 +msgid "Deallocate Stock Items" +msgstr "" + +#: templates/js/translated/build.js:583 templates/js/translated/build.js:711 +#: templates/js/translated/build.js:837 +msgid "Select Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:584 templates/js/translated/build.js:712 +#: templates/js/translated/build.js:838 +msgid "At least one build output must be selected" +msgstr "" + +#: templates/js/translated/build.js:598 +msgid "Selected build outputs will be marked as complete" +msgstr "" + +#: templates/js/translated/build.js:602 templates/js/translated/build.js:736 +#: templates/js/translated/build.js:860 +msgid "Output" +msgstr "" + +#: templates/js/translated/build.js:630 +msgid "Complete Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:727 +msgid "Selected build outputs will be marked as scrapped" +msgstr "" + +#: templates/js/translated/build.js:729 +msgid "Scrapped output are marked as rejected" +msgstr "" + +#: templates/js/translated/build.js:730 +msgid "Allocated stock items will no longer be available" +msgstr "" + +#: templates/js/translated/build.js:731 +msgid "The completion status of the build order will not be adjusted" +msgstr "" + +#: templates/js/translated/build.js:762 +msgid "Scrap Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:852 +msgid "Selected build outputs will be deleted" +msgstr "" + +#: templates/js/translated/build.js:854 +msgid "Build output data will be permanently deleted" +msgstr "" + +#: templates/js/translated/build.js:855 +msgid "Allocated stock items will be returned to stock" +msgstr "" + +#: templates/js/translated/build.js:873 +msgid "Delete Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:960 +msgid "No build order allocations found" +msgstr "" + +#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:1005 +msgid "Location not specified" +msgstr "" + +#: templates/js/translated/build.js:1027 +msgid "Complete outputs" +msgstr "" + +#: templates/js/translated/build.js:1045 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1063 +msgid "Delete outputs" +msgstr "" + +#: templates/js/translated/build.js:1116 +msgid "build output" +msgstr "" + +#: templates/js/translated/build.js:1117 +msgid "build outputs" +msgstr "" + +#: templates/js/translated/build.js:1121 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1297 +msgid "No active build outputs found" +msgstr "" + +#: templates/js/translated/build.js:1390 +msgid "Allocated Lines" +msgstr "" + +#: templates/js/translated/build.js:1404 +msgid "Required Tests" +msgstr "" + +#: templates/js/translated/build.js:1576 +#: templates/js/translated/purchase_order.js:611 +#: templates/js/translated/sales_order.js:1207 +msgid "Select Parts" +msgstr "" + +#: templates/js/translated/build.js:1577 +#: templates/js/translated/sales_order.js:1208 +msgid "You must select at least one part to allocate" +msgstr "" + +#: templates/js/translated/build.js:1640 +#: templates/js/translated/sales_order.js:1157 +msgid "Specify stock allocation quantity" +msgstr "" + +#: templates/js/translated/build.js:1717 +msgid "All Parts Allocated" +msgstr "" + +#: templates/js/translated/build.js:1718 +msgid "All selected parts have been fully allocated" +msgstr "" + +#: templates/js/translated/build.js:1732 +#: templates/js/translated/sales_order.js:1222 +msgid "Select source location (leave blank to take from all locations)" +msgstr "" + +#: templates/js/translated/build.js:1760 +msgid "Allocate Stock Items to Build Order" +msgstr "" + +#: templates/js/translated/build.js:1771 +#: templates/js/translated/sales_order.js:1319 +msgid "No matching stock locations" +msgstr "" + +#: templates/js/translated/build.js:1844 +#: templates/js/translated/sales_order.js:1398 +msgid "No matching stock items" +msgstr "" + +#: templates/js/translated/build.js:1941 +msgid "Automatic Stock Allocation" +msgstr "" + +#: templates/js/translated/build.js:1942 +msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" +msgstr "" + +#: templates/js/translated/build.js:1944 +msgid "If a location is specified, stock will only be allocated from that location" +msgstr "" + +#: templates/js/translated/build.js:1945 +msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" +msgstr "" + +#: templates/js/translated/build.js:1946 +msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" +msgstr "" + +#: templates/js/translated/build.js:1977 +msgid "Allocate Stock Items" +msgstr "" + +#: templates/js/translated/build.js:2082 +msgid "No builds matching query" +msgstr "" + +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 +msgid "Select" +msgstr "" + +#: templates/js/translated/build.js:2131 +msgid "Build order is overdue" +msgstr "" + +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 +msgid "No user information" +msgstr "" + +#: templates/js/translated/build.js:2389 +#: templates/js/translated/sales_order.js:1682 +msgid "Edit stock allocation" +msgstr "" + +#: templates/js/translated/build.js:2390 +#: templates/js/translated/sales_order.js:1683 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:2405 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:2417 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:2455 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2456 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2474 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 +#: templates/js/translated/part.js:1203 +msgid "Trackable part" +msgstr "" + +#: templates/js/translated/build.js:2539 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2591 +#: templates/js/translated/sales_order.js:1951 +msgid "Sufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2646 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2653 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2654 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2662 +#: templates/js/translated/sales_order.js:2052 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +msgid "Order stock" +msgstr "" + +#: templates/js/translated/build.js:2671 +#: templates/js/translated/sales_order.js:2046 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:2675 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:98 +msgid "Add Manufacturer" +msgstr "" + +#: templates/js/translated/company.js:111 +#: templates/js/translated/company.js:213 +msgid "Add Manufacturer Part" +msgstr "" + +#: templates/js/translated/company.js:132 +msgid "Edit Manufacturer Part" +msgstr "" + +#: templates/js/translated/company.js:201 +#: templates/js/translated/purchase_order.js:93 +msgid "Add Supplier" +msgstr "" + +#: templates/js/translated/company.js:243 +#: templates/js/translated/purchase_order.js:318 +msgid "Add Supplier Part" +msgstr "" + +#: templates/js/translated/company.js:344 +msgid "All selected supplier parts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:360 +msgid "Delete Supplier Parts" +msgstr "" + +#: templates/js/translated/company.js:466 +msgid "Add new Company" +msgstr "" + +#: templates/js/translated/company.js:546 +msgid "Parts Supplied" +msgstr "" + +#: templates/js/translated/company.js:555 +msgid "Parts Manufactured" +msgstr "" + +#: templates/js/translated/company.js:570 +msgid "No company information found" +msgstr "" + +#: templates/js/translated/company.js:619 +msgid "Create New Contact" +msgstr "" + +#: templates/js/translated/company.js:635 +#: templates/js/translated/company.js:758 +msgid "Edit Contact" +msgstr "" + +#: templates/js/translated/company.js:672 +msgid "All selected contacts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:678 +#: templates/js/translated/company.js:742 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:686 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:717 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:730 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:736 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:762 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:859 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:874 +#: templates/js/translated/company.js:1035 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:909 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:923 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:989 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:995 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1007 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1013 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1039 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1112 +msgid "All selected manufacturer parts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:1127 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/translated/company.js:1161 +msgid "All selected parameters will be deleted" +msgstr "" + +#: templates/js/translated/company.js:1175 +msgid "Delete Parameters" +msgstr "" + +#: templates/js/translated/company.js:1191 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +msgid "Order parts" +msgstr "" + +#: templates/js/translated/company.js:1208 +msgid "Delete manufacturer parts" +msgstr "" + +#: templates/js/translated/company.js:1240 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1259 +msgid "No manufacturer parts found" +msgstr "" + +#: templates/js/translated/company.js:1279 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 +msgid "Template part" +msgstr "" + +#: templates/js/translated/company.js:1283 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 +#: templates/js/translated/part.js:1215 +msgid "Assembled part" +msgstr "" + +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +msgid "No parameters found" +msgstr "" + +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +msgid "Edit parameter" +msgstr "" + +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +msgid "Delete parameter" +msgstr "" + +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +msgid "Edit Parameter" +msgstr "" + +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +msgid "Delete Parameter" +msgstr "" + +#: templates/js/translated/company.js:1496 +msgid "Delete supplier parts" +msgstr "" + +#: templates/js/translated/company.js:1546 +msgid "No supplier parts found" +msgstr "" + +#: templates/js/translated/company.js:1664 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1694 +msgid "Availability" +msgstr "" + +#: templates/js/translated/company.js:1725 +msgid "Edit supplier part" +msgstr "" + +#: templates/js/translated/company.js:1726 +msgid "Delete supplier part" +msgstr "" + +#: templates/js/translated/company.js:1779 +#: templates/js/translated/pricing.js:694 +msgid "Delete Price Break" +msgstr "" + +#: templates/js/translated/company.js:1789 +#: templates/js/translated/pricing.js:712 +msgid "Edit Price Break" +msgstr "" + +#: templates/js/translated/company.js:1804 +msgid "No price break information found" +msgstr "" + +#: templates/js/translated/company.js:1833 +msgid "Last updated" +msgstr "" + +#: templates/js/translated/company.js:1840 +msgid "Edit price break" +msgstr "" + +#: templates/js/translated/company.js:1841 +msgid "Delete price break" +msgstr "" + +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:667 +msgid "true" +msgstr "" + +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:668 +msgid "false" +msgstr "" + +#: templates/js/translated/filters.js:214 +msgid "Select filter" +msgstr "" + +#: templates/js/translated/filters.js:437 +msgid "Print Labels" +msgstr "" + +#: templates/js/translated/filters.js:441 +msgid "Print Reports" +msgstr "" + +#: templates/js/translated/filters.js:453 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:460 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:469 +msgid "Add new filter" +msgstr "" + +#: templates/js/translated/filters.js:477 +msgid "Clear all filters" +msgstr "" + +#: templates/js/translated/filters.js:577 +msgid "Create filter" +msgstr "" + +#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:393 +#: templates/js/translated/forms.js:407 templates/js/translated/forms.js:421 +msgid "Action Prohibited" +msgstr "" + +#: templates/js/translated/forms.js:380 +msgid "Create operation not allowed" +msgstr "" + +#: templates/js/translated/forms.js:395 +msgid "Update operation not allowed" +msgstr "" + +#: templates/js/translated/forms.js:409 +msgid "Delete operation not allowed" +msgstr "" + +#: templates/js/translated/forms.js:423 +msgid "View operation not allowed" +msgstr "" + +#: templates/js/translated/forms.js:800 +msgid "Keep this form open" +msgstr "" + +#: templates/js/translated/forms.js:903 +msgid "Enter a valid number" +msgstr "" + +#: templates/js/translated/forms.js:1477 templates/modals.html:19 +#: templates/modals.html:43 +msgid "Form errors exist" +msgstr "" + +#: templates/js/translated/forms.js:1975 +msgid "No results found" +msgstr "" + +#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +msgid "Searching" +msgstr "" + +#: templates/js/translated/forms.js:2499 +msgid "Clear input" +msgstr "" + +#: templates/js/translated/forms.js:3101 +msgid "File Column" +msgstr "" + +#: templates/js/translated/forms.js:3101 +msgid "Field Name" +msgstr "" + +#: templates/js/translated/forms.js:3113 +msgid "Select Columns" +msgstr "" + +#: templates/js/translated/helpers.js:77 +msgid "YES" +msgstr "" + +#: templates/js/translated/helpers.js:80 +msgid "NO" +msgstr "" + +#: templates/js/translated/helpers.js:93 +msgid "True" +msgstr "" + +#: templates/js/translated/helpers.js:94 +msgid "False" +msgstr "" + +#: templates/js/translated/index.js:104 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:150 +msgid "Labels sent to printer" +msgstr "" + +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:158 +#: templates/js/translated/modals.js:683 +msgid "Cancel" +msgstr "" + +#: templates/js/translated/modals.js:63 templates/js/translated/modals.js:157 +#: templates/js/translated/modals.js:751 templates/js/translated/modals.js:1059 +#: templates/modals.html:28 templates/modals.html:51 +msgid "Submit" +msgstr "" + +#: templates/js/translated/modals.js:156 +msgid "Form Title" +msgstr "" + +#: templates/js/translated/modals.js:445 +msgid "Waiting for server..." +msgstr "" + +#: templates/js/translated/modals.js:596 +msgid "Show Error Information" +msgstr "" + +#: templates/js/translated/modals.js:682 +msgid "Accept" +msgstr "" + +#: templates/js/translated/modals.js:740 +msgid "Loading Data" +msgstr "" + +#: templates/js/translated/modals.js:1011 +msgid "Invalid response from server" +msgstr "" + +#: templates/js/translated/modals.js:1011 +msgid "Form data missing from server response" +msgstr "" + +#: templates/js/translated/modals.js:1023 +msgid "Error posting form data" +msgstr "" + +#: templates/js/translated/modals.js:1120 +msgid "JSON response missing form data" +msgstr "" + +#: templates/js/translated/modals.js:1135 +msgid "Error 400: Bad Request" +msgstr "" + +#: templates/js/translated/modals.js:1136 +msgid "Server returned error code 400" +msgstr "" + +#: templates/js/translated/modals.js:1159 +msgid "Error requesting form data" +msgstr "" + +#: templates/js/translated/news.js:33 +msgid "No news found" +msgstr "" + +#: templates/js/translated/news.js:38 +#: templates/js/translated/notification.js:46 +#: templates/js/translated/part.js:1605 +msgid "ID" +msgstr "" + +#: templates/js/translated/notification.js:52 +msgid "Age" +msgstr "" + +#: templates/js/translated/notification.js:65 +msgid "Notification" +msgstr "" + +#: templates/js/translated/notification.js:224 +msgid "Mark as unread" +msgstr "" + +#: templates/js/translated/notification.js:228 +msgid "Mark as read" +msgstr "" + +#: templates/js/translated/notification.js:254 +msgid "No unread notifications" +msgstr "" + +#: templates/js/translated/notification.js:296 templates/notifications.html:12 +msgid "Notifications will load here" +msgstr "" + +#: templates/js/translated/order.js:89 +msgid "Add Extra Line Item" +msgstr "" + +#: templates/js/translated/order.js:126 +msgid "Export Order" +msgstr "" + +#: templates/js/translated/order.js:241 +msgid "Duplicate Line" +msgstr "" + +#: templates/js/translated/order.js:255 +msgid "Edit Line" +msgstr "" + +#: templates/js/translated/order.js:268 +msgid "Delete Line" +msgstr "" + +#: templates/js/translated/order.js:281 +#: templates/js/translated/purchase_order.js:1990 +msgid "No line items found" +msgstr "" + +#: templates/js/translated/order.js:369 +msgid "Duplicate line" +msgstr "" + +#: templates/js/translated/order.js:370 +msgid "Edit line" +msgstr "" + +#: templates/js/translated/order.js:374 +msgid "Delete line" +msgstr "" + +#: templates/js/translated/part.js:90 +msgid "Part Attributes" +msgstr "" + +#: templates/js/translated/part.js:94 +msgid "Part Creation Options" +msgstr "" + +#: templates/js/translated/part.js:98 +msgid "Part Duplication Options" +msgstr "" + +#: templates/js/translated/part.js:121 +msgid "Add Part Category" +msgstr "" + +#: templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +msgid "Icon (optional) - Explore all available icons on" +msgstr "" + +#: templates/js/translated/part.js:353 +msgid "Create Part Category" +msgstr "" + +#: templates/js/translated/part.js:356 +msgid "Create new category after this one" +msgstr "" + +#: templates/js/translated/part.js:357 +msgid "Part category created" +msgstr "" + +#: templates/js/translated/part.js:371 +msgid "Edit Part Category" +msgstr "" + +#: templates/js/translated/part.js:384 +msgid "Are you sure you want to delete this part category?" +msgstr "" + +#: templates/js/translated/part.js:389 +msgid "Move to parent category" +msgstr "" + +#: templates/js/translated/part.js:398 +msgid "Delete Part Category" +msgstr "" + +#: templates/js/translated/part.js:402 +msgid "Action for parts in this category" +msgstr "" + +#: templates/js/translated/part.js:407 +msgid "Action for child categories" +msgstr "" + +#: templates/js/translated/part.js:431 +msgid "Create Part" +msgstr "" + +#: templates/js/translated/part.js:433 +msgid "Create another part after this one" +msgstr "" + +#: templates/js/translated/part.js:434 +msgid "Part created successfully" +msgstr "" + +#: templates/js/translated/part.js:462 +msgid "Edit Part" +msgstr "" + +#: templates/js/translated/part.js:464 +msgid "Part edited" +msgstr "" + +#: templates/js/translated/part.js:475 +msgid "Create Part Variant" +msgstr "" + +#: templates/js/translated/part.js:532 +msgid "Active Part" +msgstr "" + +#: templates/js/translated/part.js:533 +msgid "Part cannot be deleted as it is currently active" +msgstr "" + +#: templates/js/translated/part.js:547 +msgid "Deleting this part cannot be reversed" +msgstr "" + +#: templates/js/translated/part.js:549 +msgid "Any stock items for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:550 +msgid "This part will be removed from any Bills of Material" +msgstr "" + +#: templates/js/translated/part.js:551 +msgid "All manufacturer and supplier information for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:558 +msgid "Delete Part" +msgstr "" + +#: templates/js/translated/part.js:594 +msgid "You are subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:596 +msgid "You have subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:601 +msgid "Subscribe to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:603 +msgid "You have unsubscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:620 +msgid "Validating the BOM will mark each line item as valid" +msgstr "" + +#: templates/js/translated/part.js:630 +msgid "Validate Bill of Materials" +msgstr "" + +#: templates/js/translated/part.js:633 +msgid "Validated Bill of Materials" +msgstr "" + +#: templates/js/translated/part.js:658 +msgid "Copy Bill of Materials" +msgstr "" + +#: templates/js/translated/part.js:686 +#: templates/js/translated/table_filters.js:747 +msgid "Low stock" +msgstr "" + +#: templates/js/translated/part.js:689 +msgid "No stock available" +msgstr "" + +#: templates/js/translated/part.js:749 +msgid "Demand" +msgstr "" + +#: templates/js/translated/part.js:772 +msgid "Unit" +msgstr "" + +#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +msgid "Virtual part" +msgstr "" + +#: templates/js/translated/part.js:807 +msgid "Subscribed part" +msgstr "" + +#: templates/js/translated/part.js:811 +msgid "Salable part" +msgstr "" + +#: templates/js/translated/part.js:890 +msgid "Schedule generation of a new stocktake report." +msgstr "" + +#: templates/js/translated/part.js:890 +msgid "Once complete, the stocktake report will be available for download." +msgstr "" + +#: templates/js/translated/part.js:898 +msgid "Generate Stocktake Report" +msgstr "" + +#: templates/js/translated/part.js:902 +msgid "Stocktake report scheduled" +msgstr "" + +#: templates/js/translated/part.js:1051 +msgid "No stocktake information available" +msgstr "" + +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +msgid "Edit Stocktake Entry" +msgstr "" + +#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +msgid "Delete Stocktake Entry" +msgstr "" + +#: templates/js/translated/part.js:1282 +msgid "No variants found" +msgstr "" + +#: templates/js/translated/part.js:1600 +msgid "No part parameter templates found" +msgstr "" + +#: templates/js/translated/part.js:1663 +msgid "Edit Part Parameter Template" +msgstr "" + +#: templates/js/translated/part.js:1675 +msgid "Any parameters which reference this template will also be deleted" +msgstr "" + +#: templates/js/translated/part.js:1683 +msgid "Delete Part Parameter Template" +msgstr "" + +#: templates/js/translated/part.js:1717 +#: templates/js/translated/purchase_order.js:1654 +msgid "No purchase orders found" +msgstr "" + +#: templates/js/translated/part.js:1861 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 +msgid "This line item is overdue" +msgstr "" + +#: templates/js/translated/part.js:1907 +#: templates/js/translated/purchase_order.js:2220 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/part.js:1970 +msgid "Delete part relationship" +msgstr "" + +#: templates/js/translated/part.js:1992 +msgid "Delete Part Relationship" +msgstr "" + +#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +msgid "No parts found" +msgstr "" + +#: templates/js/translated/part.js:2201 +msgid "Set the part category for the selected parts" +msgstr "" + +#: templates/js/translated/part.js:2206 +msgid "Set Part Category" +msgstr "" + +#: templates/js/translated/part.js:2236 +msgid "Set category" +msgstr "" + +#: templates/js/translated/part.js:2287 +msgid "part" +msgstr "" + +#: templates/js/translated/part.js:2288 +msgid "parts" +msgstr "" + +#: templates/js/translated/part.js:2384 +msgid "No category" +msgstr "" + +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/stock.js:2669 +msgid "Display as list" +msgstr "" + +#: templates/js/translated/part.js:2547 +msgid "Display as grid" +msgstr "" + +#: templates/js/translated/part.js:2645 +msgid "No subcategories found" +msgstr "" + +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +msgid "Display as tree" +msgstr "" + +#: templates/js/translated/part.js:2761 +msgid "Load Subcategories" +msgstr "" + +#: templates/js/translated/part.js:2777 +msgid "Subscribed category" +msgstr "" + +#: templates/js/translated/part.js:2865 +msgid "No test templates matching query" +msgstr "" + +#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +msgid "Edit test result" +msgstr "" + +#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/stock.js:1731 +msgid "Delete test result" +msgstr "" + +#: templates/js/translated/part.js:2942 +msgid "This test is defined for a parent part" +msgstr "" + +#: templates/js/translated/part.js:2958 +msgid "Edit Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:2972 +msgid "Delete Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +msgid "No date specified" +msgstr "" + +#: templates/js/translated/part.js:3054 +msgid "Specified date is in the past" +msgstr "" + +#: templates/js/translated/part.js:3060 +msgid "Speculative" +msgstr "" + +#: templates/js/translated/part.js:3110 +msgid "No scheduling information available for this part" +msgstr "" + +#: templates/js/translated/part.js:3116 +msgid "Error fetching scheduling information for this part" +msgstr "" + +#: templates/js/translated/part.js:3212 +msgid "Scheduled Stock Quantities" +msgstr "" + +#: templates/js/translated/part.js:3228 +msgid "Maximum Quantity" +msgstr "" + +#: templates/js/translated/part.js:3273 +msgid "Minimum Stock Level" +msgstr "" + +#: templates/js/translated/plugin.js:46 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:58 +msgid "This plugin is no longer installed" +msgstr "" + +#: templates/js/translated/plugin.js:60 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "This plugin is installed but not active" +msgstr "" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:186 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:186 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 +msgid "The Plugin was installed" +msgstr "" + +#: templates/js/translated/plugin.js:177 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:181 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:189 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:189 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:203 +msgid "Plugin updated" +msgstr "" + +#: templates/js/translated/pricing.js:159 +msgid "Error fetching currency data" +msgstr "" + +#: templates/js/translated/pricing.js:321 +msgid "No BOM data available" +msgstr "" + +#: templates/js/translated/pricing.js:463 +msgid "No supplier pricing data available" +msgstr "" + +#: templates/js/translated/pricing.js:572 +msgid "No price break data available" +msgstr "" + +#: templates/js/translated/pricing.js:755 +msgid "No purchase history data available" +msgstr "" + +#: templates/js/translated/pricing.js:791 +msgid "Purchase Price History" +msgstr "" + +#: templates/js/translated/pricing.js:894 +msgid "No sales history data available" +msgstr "" + +#: templates/js/translated/pricing.js:916 +msgid "Sale Price History" +msgstr "" + +#: templates/js/translated/pricing.js:1005 +msgid "No variant data available" +msgstr "" + +#: templates/js/translated/pricing.js:1045 +msgid "Variant Part" +msgstr "" + +#: templates/js/translated/purchase_order.js:169 +msgid "Select purchase order to duplicate" +msgstr "" + +#: templates/js/translated/purchase_order.js:176 +msgid "Duplicate Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:177 +msgid "Duplicate all line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:184 +msgid "Duplicate Extra Lines" +msgstr "" + +#: templates/js/translated/purchase_order.js:185 +msgid "Duplicate extra line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:206 +msgid "Edit Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:223 +msgid "Duplication Options" +msgstr "" + +#: templates/js/translated/purchase_order.js:431 +msgid "Complete Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:448 +#: templates/js/translated/return_order.js:210 +#: templates/js/translated/sales_order.js:552 +msgid "Mark this order as complete?" +msgstr "" + +#: templates/js/translated/purchase_order.js:454 +msgid "All line items have been received" +msgstr "" + +#: templates/js/translated/purchase_order.js:459 +msgid "This order has line items which have not been marked as received." +msgstr "" + +#: templates/js/translated/purchase_order.js:460 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:483 +msgid "Cancel Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:488 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "" + +#: templates/js/translated/purchase_order.js:494 +msgid "This purchase order can not be cancelled" +msgstr "" + +#: templates/js/translated/purchase_order.js:515 +#: templates/js/translated/return_order.js:164 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:520 +msgid "Issue Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:612 +msgid "At least one purchaseable part must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:637 +msgid "Quantity to order" +msgstr "" + +#: templates/js/translated/purchase_order.js:646 +msgid "New supplier part" +msgstr "" + +#: templates/js/translated/purchase_order.js:664 +msgid "New purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:705 +msgid "Add to purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 +msgid "No matching supplier parts" +msgstr "" + +#: templates/js/translated/purchase_order.js:878 +msgid "No matching purchase orders" +msgstr "" + +#: templates/js/translated/purchase_order.js:1073 +#: templates/js/translated/return_order.js:490 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/return_order.js:491 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:1104 +msgid "Received Quantity" +msgstr "" + +#: templates/js/translated/purchase_order.js:1115 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1191 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/purchase_order.js:1205 +msgid "Add barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1206 +msgid "Remove barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1209 +msgid "Specify location" +msgstr "" + +#: templates/js/translated/purchase_order.js:1217 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1228 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1280 +msgid "Serials" +msgstr "" + +#: templates/js/translated/purchase_order.js:1305 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1307 +msgid "Quantity to Receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1333 +#: templates/js/translated/return_order.js:560 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1334 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1402 +msgid "Scan Item Barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1403 +msgid "Scan barcode on incoming item (must not match any existing stock items)" +msgstr "" + +#: templates/js/translated/purchase_order.js:1417 +msgid "Invalid barcode data" +msgstr "" + +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 +msgid "Order is overdue" +msgstr "" + +#: templates/js/translated/purchase_order.js:1843 +msgid "All selected Line items will be deleted" +msgstr "" + +#: templates/js/translated/purchase_order.js:1861 +msgid "Delete selected Line items?" +msgstr "" + +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 +msgid "Duplicate Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 +msgid "Duplicate line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: templates/js/translated/report.js:68 +msgid "Report print successful" +msgstr "" + +#: templates/js/translated/report.js:73 +msgid "Report printing failed" +msgstr "" + +#: templates/js/translated/return_order.js:60 +#: templates/js/translated/sales_order.js:86 +msgid "Add Customer" +msgstr "" + +#: templates/js/translated/return_order.js:134 +msgid "Create Return Order" +msgstr "" + +#: templates/js/translated/return_order.js:149 +msgid "Edit Return Order" +msgstr "" + +#: templates/js/translated/return_order.js:169 +msgid "Issue Return Order" +msgstr "" + +#: templates/js/translated/return_order.js:186 +msgid "Are you sure you wish to cancel this Return Order?" +msgstr "" + +#: templates/js/translated/return_order.js:193 +msgid "Cancel Return Order" +msgstr "" + +#: templates/js/translated/return_order.js:218 +msgid "Complete Return Order" +msgstr "" + +#: templates/js/translated/return_order.js:265 +msgid "No return orders found" +msgstr "" + +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 +msgid "Invalid Customer" +msgstr "" + +#: templates/js/translated/return_order.js:561 +msgid "Receive Return Order Items" +msgstr "" + +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 +msgid "No matching line items" +msgstr "" + +#: templates/js/translated/return_order.js:797 +msgid "Mark item as received" +msgstr "" + +#: templates/js/translated/sales_order.js:161 +msgid "Create Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:176 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:291 +msgid "No stock items have been allocated to this shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:296 +msgid "The following stock items will be shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:336 +msgid "Complete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:360 +msgid "Confirm Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:416 +msgid "No pending shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:420 +msgid "No stock items have been allocated to pending shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:430 +msgid "Complete Shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:452 +msgid "Skip" +msgstr "" + +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:513 +msgid "This order has line items which have not been completed." +msgstr "" + +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 +msgid "Issue this Sales Order?" +msgstr "" + +#: templates/js/translated/sales_order.js:577 +msgid "Issue Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:596 +msgid "Cancel Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:601 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:655 +msgid "Create New Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:764 +msgid "No sales orders found" +msgstr "" + +#: templates/js/translated/sales_order.js:944 +msgid "Edit shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:947 +msgid "Complete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:952 +msgid "Delete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:969 +msgid "Edit Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:984 +msgid "Delete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:1017 +msgid "No matching shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:1042 +msgid "Shipment Reference" +msgstr "" + +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 +msgid "Not shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:1084 +msgid "Tracking" +msgstr "" + +#: templates/js/translated/sales_order.js:1088 +msgid "Invoice" +msgstr "" + +#: templates/js/translated/sales_order.js:1255 +msgid "Add Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:1306 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1307 +msgid "Allocate Stock Items to Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:1513 +msgid "No sales order allocations found" +msgstr "" + +#: templates/js/translated/sales_order.js:1605 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1619 +msgid "Confirm Delete Operation" +msgstr "" + +#: templates/js/translated/sales_order.js:1620 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 +#: templates/js/translated/stock.js:1776 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/sales_order.js:2044 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:2048 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/sales_order.js:2071 +msgid "Cannot be deleted as items have been shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:2074 +msgid "Cannot be deleted as items have been allocated" +msgstr "" + +#: templates/js/translated/sales_order.js:2145 +msgid "Allocate Serial Numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:2253 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/search.js:270 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:292 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:342 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:352 +msgid "Minimize results" +msgstr "" + +#: templates/js/translated/search.js:355 +msgid "Remove results" +msgstr "" + +#: templates/js/translated/stock.js:98 +msgid "Serialize Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:129 +msgid "Confirm Stock Serialization" +msgstr "" + +#: templates/js/translated/stock.js:139 +msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" +msgstr "" + +#: templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: templates/js/translated/stock.js:166 +msgid "Add Location type" +msgstr "" + +#: templates/js/translated/stock.js:202 +msgid "Edit Stock Location" +msgstr "" + +#: templates/js/translated/stock.js:217 +msgid "New Stock Location" +msgstr "" + +#: templates/js/translated/stock.js:219 +msgid "Create another location after this one" +msgstr "" + +#: templates/js/translated/stock.js:220 +msgid "Stock location created" +msgstr "" + +#: templates/js/translated/stock.js:234 +msgid "Are you sure you want to delete this stock location?" +msgstr "" + +#: templates/js/translated/stock.js:241 +msgid "Move to parent stock location" +msgstr "" + +#: templates/js/translated/stock.js:250 +msgid "Delete Stock Location" +msgstr "" + +#: templates/js/translated/stock.js:254 +msgid "Action for stock items in this stock location" +msgstr "" + +#: templates/js/translated/stock.js:259 +msgid "Action for sub-locations" +msgstr "" + +#: templates/js/translated/stock.js:313 +msgid "This part cannot be serialized" +msgstr "" + +#: templates/js/translated/stock.js:349 +msgid "Add given quantity as packs instead of individual items" +msgstr "" + +#: templates/js/translated/stock.js:362 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: templates/js/translated/stock.js:368 +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "" + +#: templates/js/translated/stock.js:439 +msgid "Stock item duplicated" +msgstr "" + +#: templates/js/translated/stock.js:459 +msgid "Duplicate Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:475 +msgid "Are you sure you want to delete this stock item?" +msgstr "" + +#: templates/js/translated/stock.js:480 +msgid "Delete Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:501 +msgid "Edit Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:543 +msgid "Create another item after this one" +msgstr "" + +#: templates/js/translated/stock.js:555 +msgid "Created new stock item" +msgstr "" + +#: templates/js/translated/stock.js:568 +msgid "Created multiple stock items" +msgstr "" + +#: templates/js/translated/stock.js:593 +msgid "Find Serial Number" +msgstr "" + +#: templates/js/translated/stock.js:597 templates/js/translated/stock.js:598 +msgid "Enter serial number" +msgstr "" + +#: templates/js/translated/stock.js:614 +msgid "Enter a serial number" +msgstr "" + +#: templates/js/translated/stock.js:634 +msgid "No matching serial number" +msgstr "" + +#: templates/js/translated/stock.js:643 +msgid "More than one matching result found" +msgstr "" + +#: templates/js/translated/stock.js:751 +msgid "Confirm stock assignment" +msgstr "" + +#: templates/js/translated/stock.js:752 +msgid "Assign Stock to Customer" +msgstr "" + +#: templates/js/translated/stock.js:829 +msgid "Warning: Merge operation cannot be reversed" +msgstr "" + +#: templates/js/translated/stock.js:830 +msgid "Some information will be lost when merging stock items" +msgstr "" + +#: templates/js/translated/stock.js:832 +msgid "Stock transaction history will be deleted for merged items" +msgstr "" + +#: templates/js/translated/stock.js:833 +msgid "Supplier part information will be deleted for merged items" +msgstr "" + +#: templates/js/translated/stock.js:928 +msgid "Confirm stock item merge" +msgstr "" + +#: templates/js/translated/stock.js:929 +msgid "Merge Stock Items" +msgstr "" + +#: templates/js/translated/stock.js:1024 +msgid "Transfer Stock" +msgstr "" + +#: templates/js/translated/stock.js:1025 +msgid "Move" +msgstr "" + +#: templates/js/translated/stock.js:1031 +msgid "Count Stock" +msgstr "" + +#: templates/js/translated/stock.js:1032 +msgid "Count" +msgstr "" + +#: templates/js/translated/stock.js:1036 +msgid "Remove Stock" +msgstr "" + +#: templates/js/translated/stock.js:1037 +msgid "Take" +msgstr "" + +#: templates/js/translated/stock.js:1041 +msgid "Add Stock" +msgstr "" + +#: templates/js/translated/stock.js:1042 users/models.py:401 +msgid "Add" +msgstr "" + +#: templates/js/translated/stock.js:1046 +msgid "Delete Stock" +msgstr "" + +#: templates/js/translated/stock.js:1146 +msgid "Quantity cannot be adjusted for serialized stock" +msgstr "" + +#: templates/js/translated/stock.js:1146 +msgid "Specify stock quantity" +msgstr "" + +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 +msgid "Select Stock Items" +msgstr "" + +#: templates/js/translated/stock.js:1181 +msgid "Select at least one available stock item" +msgstr "" + +#: templates/js/translated/stock.js:1227 +msgid "Confirm stock adjustment" +msgstr "" + +#: templates/js/translated/stock.js:1363 +msgid "PASS" +msgstr "" + +#: templates/js/translated/stock.js:1365 +msgid "FAIL" +msgstr "" + +#: templates/js/translated/stock.js:1370 +msgid "NO RESULT" +msgstr "" + +#: templates/js/translated/stock.js:1450 +msgid "Pass test" +msgstr "" + +#: templates/js/translated/stock.js:1453 +msgid "Add test result" +msgstr "" + +#: templates/js/translated/stock.js:1476 +msgid "No test results found" +msgstr "" + +#: templates/js/translated/stock.js:1540 +msgid "Test Date" +msgstr "" + +#: templates/js/translated/stock.js:1553 +msgid "Test started" +msgstr "" + +#: templates/js/translated/stock.js:1562 +msgid "Test finished" +msgstr "" + +#: templates/js/translated/stock.js:1716 +msgid "Edit Test Result" +msgstr "" + +#: templates/js/translated/stock.js:1736 +msgid "Delete Test Result" +msgstr "" + +#: templates/js/translated/stock.js:1768 +msgid "In production" +msgstr "" + +#: templates/js/translated/stock.js:1772 +msgid "Installed in Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:1780 +msgid "Assigned to Sales Order" +msgstr "" + +#: templates/js/translated/stock.js:1786 +msgid "No stock location set" +msgstr "" + +#: templates/js/translated/stock.js:1842 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1851 +msgid "Merge stock" +msgstr "" + +#: templates/js/translated/stock.js:1900 +msgid "Delete stock" +msgstr "" + +#: templates/js/translated/stock.js:1953 +msgid "stock items" +msgstr "" + +#: templates/js/translated/stock.js:1958 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1969 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:2013 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2091 +msgid "Stock item is in production" +msgstr "" + +#: templates/js/translated/stock.js:2096 +msgid "Stock item assigned to sales order" +msgstr "" + +#: templates/js/translated/stock.js:2099 +msgid "Stock item assigned to customer" +msgstr "" + +#: templates/js/translated/stock.js:2102 +msgid "Serialized stock item has been allocated" +msgstr "" + +#: templates/js/translated/stock.js:2104 +msgid "Stock item has been fully allocated" +msgstr "" + +#: templates/js/translated/stock.js:2106 +msgid "Stock item has been partially allocated" +msgstr "" + +#: templates/js/translated/stock.js:2109 +msgid "Stock item has been installed in another item" +msgstr "" + +#: templates/js/translated/stock.js:2111 +msgid "Stock item has been consumed by a build order" +msgstr "" + +#: templates/js/translated/stock.js:2115 +msgid "Stock item has expired" +msgstr "" + +#: templates/js/translated/stock.js:2117 +msgid "Stock item will expire soon" +msgstr "" + +#: templates/js/translated/stock.js:2122 +msgid "Stock item has been rejected" +msgstr "" + +#: templates/js/translated/stock.js:2124 +msgid "Stock item is lost" +msgstr "" + +#: templates/js/translated/stock.js:2126 +msgid "Stock item is destroyed" +msgstr "" + +#: templates/js/translated/stock.js:2130 +#: templates/js/translated/table_filters.js:350 +msgid "Depleted" +msgstr "" + +#: templates/js/translated/stock.js:2295 +msgid "Supplier part not specified" +msgstr "" + +#: templates/js/translated/stock.js:2342 +msgid "Stock Value" +msgstr "" + +#: templates/js/translated/stock.js:2470 +msgid "No stock items matching query" +msgstr "" + +#: templates/js/translated/stock.js:2573 +msgid "stock locations" +msgstr "" + +#: templates/js/translated/stock.js:2728 +msgid "Load Sublocations" +msgstr "" + +#: templates/js/translated/stock.js:2846 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:2850 +msgid "No changes" +msgstr "" + +#: templates/js/translated/stock.js:2862 +msgid "Part information unavailable" +msgstr "" + +#: templates/js/translated/stock.js:2884 +msgid "Location no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2901 +msgid "Build order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2916 +msgid "Purchase order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2933 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2950 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2969 +msgid "Customer no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2987 +msgid "Stock item no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:3005 +msgid "Added" +msgstr "" + +#: templates/js/translated/stock.js:3013 +msgid "Removed" +msgstr "" + +#: templates/js/translated/stock.js:3085 +msgid "No installed items" +msgstr "" + +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 +msgid "Uninstall Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:3197 +msgid "Select stock item to uninstall" +msgstr "" + +#: templates/js/translated/stock.js:3218 +msgid "Install another stock item into this item" +msgstr "" + +#: templates/js/translated/stock.js:3219 +msgid "Stock items can only be installed if they meet the following criteria" +msgstr "" + +#: templates/js/translated/stock.js:3221 +msgid "The Stock Item links to a Part which is the BOM for this Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:3222 +msgid "The Stock Item is currently available in stock" +msgstr "" + +#: templates/js/translated/stock.js:3223 +msgid "The Stock Item is not already installed in another item" +msgstr "" + +#: templates/js/translated/stock.js:3224 +msgid "The Stock Item is tracked by either a batch code or serial number" +msgstr "" + +#: templates/js/translated/stock.js:3237 +msgid "Select part to install" +msgstr "" + +#: templates/js/translated/stock.js:3300 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3313 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3317 +msgid "Change Stock Status" +msgstr "" + +#: templates/js/translated/table_filters.js:74 +msgid "Has project code" +msgstr "" + +#: templates/js/translated/table_filters.js:89 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 +msgid "Order status" +msgstr "" + +#: templates/js/translated/table_filters.js:94 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 +msgid "Outstanding" +msgstr "" + +#: templates/js/translated/table_filters.js:102 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 +msgid "Assigned to me" +msgstr "" + +#: templates/js/translated/table_filters.js:158 +msgid "Trackable Part" +msgstr "" + +#: templates/js/translated/table_filters.js:162 +msgid "Assembled Part" +msgstr "" + +#: templates/js/translated/table_filters.js:166 +msgid "Has Available Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:182 +msgid "Allow Variant Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:234 +#: templates/js/translated/table_filters.js:345 +msgid "Include sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:235 +msgid "Include locations" +msgstr "" + +#: templates/js/translated/table_filters.js:267 +msgid "Has location type" +msgstr "" + +#: templates/js/translated/table_filters.js:278 +#: templates/js/translated/table_filters.js:279 +#: templates/js/translated/table_filters.js:711 +msgid "Include subcategories" +msgstr "" + +#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:759 +msgid "Subscribed" +msgstr "" + +#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:380 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/table_filters.js:387 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:388 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:391 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:392 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:309 +#: templates/js/translated/table_filters.js:310 +#: templates/js/translated/table_filters.js:383 +#: templates/js/translated/table_filters.js:384 +msgid "Serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:314 +#: templates/js/translated/table_filters.js:405 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:325 +#: templates/js/translated/table_filters.js:700 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:326 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:331 +msgid "Part is an assembly" +msgstr "" + +#: templates/js/translated/table_filters.js:335 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:336 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:341 +msgid "Stock is available for use" +msgstr "" + +#: templates/js/translated/table_filters.js:346 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:351 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:356 +msgid "Show items which are in stock" +msgstr "" + +#: templates/js/translated/table_filters.js:361 +msgid "Show items which are in production" +msgstr "" + +#: templates/js/translated/table_filters.js:365 +msgid "Include Variants" +msgstr "" + +#: templates/js/translated/table_filters.js:366 +msgid "Include stock items for variant parts" +msgstr "" + +#: templates/js/translated/table_filters.js:371 +msgid "Show stock items which are installed in another item" +msgstr "" + +#: templates/js/translated/table_filters.js:376 +msgid "Show items which have been assigned to a customer" +msgstr "" + +#: templates/js/translated/table_filters.js:396 +#: templates/js/translated/table_filters.js:397 +msgid "Stock status" +msgstr "" + +#: templates/js/translated/table_filters.js:400 +msgid "Has batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:409 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:414 +msgid "Has purchase price" +msgstr "" + +#: templates/js/translated/table_filters.js:415 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/translated/table_filters.js:419 +msgid "Expiry Date before" +msgstr "" + +#: templates/js/translated/table_filters.js:423 +msgid "Expiry Date after" +msgstr "" + +#: templates/js/translated/table_filters.js:436 +msgid "Show stock items which have expired" +msgstr "" + +#: templates/js/translated/table_filters.js:442 +msgid "Show stock which is close to expiring" +msgstr "" + +#: templates/js/translated/table_filters.js:456 +msgid "Test Passed" +msgstr "" + +#: templates/js/translated/table_filters.js:460 +msgid "Include Installed Items" +msgstr "" + +#: templates/js/translated/table_filters.js:515 +msgid "Build status" +msgstr "" + +#: templates/js/translated/table_filters.js:712 +msgid "Include parts in subcategories" +msgstr "" + +#: templates/js/translated/table_filters.js:717 +msgid "Show active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:725 +msgid "Available stock" +msgstr "" + +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:833 +msgid "Has Units" +msgstr "" + +#: templates/js/translated/table_filters.js:734 +msgid "Part has defined units" +msgstr "" + +#: templates/js/translated/table_filters.js:738 +msgid "Has IPN" +msgstr "" + +#: templates/js/translated/table_filters.js:739 +msgid "Part has internal part number" +msgstr "" + +#: templates/js/translated/table_filters.js:743 +msgid "In stock" +msgstr "" + +#: templates/js/translated/table_filters.js:751 +msgid "Purchasable" +msgstr "" + +#: templates/js/translated/table_filters.js:763 +msgid "Has stocktake entries" +msgstr "" + +#: templates/js/translated/table_filters.js:829 +msgid "Has Choices" +msgstr "" + +#: templates/js/translated/tables.js:92 +msgid "Display calendar view" +msgstr "" + +#: templates/js/translated/tables.js:102 +msgid "Display list view" +msgstr "" + +#: templates/js/translated/tables.js:112 +msgid "Display tree view" +msgstr "" + +#: templates/js/translated/tables.js:130 +msgid "Expand all rows" +msgstr "" + +#: templates/js/translated/tables.js:136 +msgid "Collapse all rows" +msgstr "" + +#: templates/js/translated/tables.js:186 +msgid "Export Table Data" +msgstr "" + +#: templates/js/translated/tables.js:190 +msgid "Select File Format" +msgstr "" + +#: templates/js/translated/tables.js:529 +msgid "Loading data" +msgstr "" + +#: templates/js/translated/tables.js:532 +msgid "rows per page" +msgstr "" + +#: templates/js/translated/tables.js:537 +msgid "Showing all rows" +msgstr "" + +#: templates/js/translated/tables.js:539 +msgid "Showing" +msgstr "" + +#: templates/js/translated/tables.js:539 +msgid "to" +msgstr "" + +#: templates/js/translated/tables.js:539 +msgid "of" +msgstr "" + +#: templates/js/translated/tables.js:539 +msgid "rows" +msgstr "" + +#: templates/js/translated/tables.js:546 +msgid "No matching results" +msgstr "" + +#: templates/js/translated/tables.js:549 +msgid "Hide/Show pagination" +msgstr "" + +#: templates/js/translated/tables.js:555 +msgid "Toggle" +msgstr "" + +#: templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: templates/js/translated/tables.js:561 +msgid "All" +msgstr "" + +#: templates/navbar.html:45 +msgid "Buy" +msgstr "" + +#: templates/navbar.html:57 +msgid "Sell" +msgstr "" + +#: templates/navbar.html:121 +msgid "Show Notifications" +msgstr "" + +#: templates/navbar.html:124 +msgid "New Notifications" +msgstr "" + +#: templates/navbar.html:144 users/models.py:201 +msgid "Admin" +msgstr "" + +#: templates/navbar.html:148 +msgid "Logout" +msgstr "" + +#: templates/notes_buttons.html:6 templates/notes_buttons.html:7 +msgid "Save" +msgstr "" + +#: templates/notifications.html:9 +msgid "Show all notifications and history" +msgstr "" + +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + +#: templates/qr_code.html:11 +msgid "QR data not provided" +msgstr "" + +#: templates/registration/logged_out.html:7 +msgid "You were logged out successfully." +msgstr "" + +#: templates/registration/logged_out.html:9 +msgid "Log in again" +msgstr "" + +#: templates/search.html:9 +msgid "Show full search results" +msgstr "" + +#: templates/search.html:12 +msgid "Clear search" +msgstr "" + +#: templates/search.html:15 +msgid "Close search menu" +msgstr "" + +#: templates/socialaccount/authentication_error.html:5 +msgid "Social Network Login Failure" +msgstr "" + +#: templates/socialaccount/authentication_error.html:8 +msgid "Account Login Failure" +msgstr "" + +#: templates/socialaccount/authentication_error.html:11 +msgid "An error occurred while attempting to login via your social network account." +msgstr "" + +#: templates/socialaccount/authentication_error.html:13 +msgid "Contact your system administrator for further information." +msgstr "" + +#: templates/socialaccount/login.html:13 +#, python-format +msgid "Connect %(provider)s" +msgstr "" + +#: templates/socialaccount/login.html:15 +#, python-format +msgid "You are about to connect a new third party account from %(provider)s." +msgstr "" + +#: templates/socialaccount/login.html:17 +#, python-format +msgid "Sign In Via %(provider)s" +msgstr "" + +#: templates/socialaccount/login.html:19 +#, python-format +msgid "You are about to sign in using a third party account from %(provider)s." +msgstr "" + +#: templates/socialaccount/login.html:24 +msgid "Continue" +msgstr "" + +#: templates/socialaccount/login.html:29 +msgid "Invalid SSO Provider" +msgstr "" + +#: templates/socialaccount/login.html:31 +msgid "The selected SSO provider is invalid, or has not been correctly configured" +msgstr "" + +#: templates/socialaccount/signup.html:11 +#, python-format +msgid "You are about to use your %(provider_name)s account to login to %(site_name)s." +msgstr "" + +#: templates/socialaccount/signup.html:13 +msgid "As a final step, please complete the following form" +msgstr "" + +#: templates/socialaccount/snippets/provider_list.html:26 +msgid "Provider has not been configured" +msgstr "" + +#: templates/socialaccount/snippets/provider_list.html:35 +msgid "No SSO providers have been configured" +msgstr "" + +#: templates/stats.html:13 +msgid "Instance Name" +msgstr "" + +#: templates/stats.html:18 +msgid "Database" +msgstr "" + +#: templates/stats.html:26 +msgid "Server is running in debug mode" +msgstr "" + +#: templates/stats.html:33 +msgid "Docker Mode" +msgstr "" + +#: templates/stats.html:34 +msgid "Server is deployed using docker" +msgstr "" + +#: templates/stats.html:39 +msgid "Plugin Support" +msgstr "" + +#: templates/stats.html:43 +msgid "Plugin support enabled" +msgstr "" + +#: templates/stats.html:45 +msgid "Plugin support disabled" +msgstr "" + +#: templates/stats.html:52 +msgid "Server status" +msgstr "" + +#: templates/stats.html:55 +msgid "Healthy" +msgstr "" + +#: templates/stats.html:57 +msgid "Issues detected" +msgstr "" + +#: templates/stats.html:64 +msgid "Background Worker" +msgstr "" + +#: templates/stats.html:67 +msgid "Background worker not running" +msgstr "" + +#: templates/stats.html:75 +msgid "Email Settings" +msgstr "" + +#: templates/stats.html:78 +msgid "Email settings not configured" +msgstr "" + +#: templates/yesnolabel.html:4 +msgid "Yes" +msgstr "" + +#: templates/yesnolabel.html:6 +msgid "No" +msgstr "" + +#: users/admin.py:104 +msgid "Users" +msgstr "" + +#: users/admin.py:105 +msgid "Select which users are assigned to this group" +msgstr "" + +#: users/admin.py:249 +msgid "The following users are members of multiple groups" +msgstr "" + +#: users/admin.py:283 +msgid "Personal info" +msgstr "" + +#: users/admin.py:285 +msgid "Permissions" +msgstr "" + +#: users/admin.py:288 +msgid "Important dates" +msgstr "" + +#: users/authentication.py:29 users/models.py:138 +msgid "Token has been revoked" +msgstr "" + +#: users/authentication.py:32 +msgid "Token has expired" +msgstr "" + +#: users/models.py:81 +msgid "API Token" +msgstr "" + +#: users/models.py:82 +msgid "API Tokens" +msgstr "" + +#: users/models.py:118 +msgid "Token Name" +msgstr "" + +#: users/models.py:119 +msgid "Custom token name" +msgstr "" + +#: users/models.py:125 +msgid "Token expiry date" +msgstr "" + +#: users/models.py:133 +msgid "Last Seen" +msgstr "" + +#: users/models.py:134 +msgid "Last time the token was used" +msgstr "" + +#: users/models.py:138 +msgid "Revoked" +msgstr "" + +#: users/models.py:384 +msgid "Permission set" +msgstr "" + +#: users/models.py:393 +msgid "Group" +msgstr "" + +#: users/models.py:397 +msgid "View" +msgstr "" + +#: users/models.py:397 +msgid "Permission to view items" +msgstr "" + +#: users/models.py:401 +msgid "Permission to add items" +msgstr "" + +#: users/models.py:405 +msgid "Change" +msgstr "" + +#: users/models.py:407 +msgid "Permissions to edit items" +msgstr "" + +#: users/models.py:413 +msgid "Permission to delete items" +msgstr "" diff --git a/src/frontend/.linguirc b/src/frontend/.linguirc index be405360b5..db0ade6fbe 100644 --- a/src/frontend/.linguirc +++ b/src/frontend/.linguirc @@ -23,6 +23,7 @@ "pl", "pt", "pt-br", + "ro", "ru", "sk", "sl", diff --git a/src/frontend/src/contexts/LanguageContext.tsx b/src/frontend/src/contexts/LanguageContext.tsx index 2f1dd35239..0036409324 100644 --- a/src/frontend/src/contexts/LanguageContext.tsx +++ b/src/frontend/src/contexts/LanguageContext.tsx @@ -40,6 +40,7 @@ export const getSupportedLanguages = (): Record => { pl: t`Polish`, pt: t`Portuguese`, 'pt-br': t`Portuguese (Brazilian)`, + ro: t`Romanian`, ru: t`Russian`, sk: t`Slovak`, sl: t`Slovenian`, From 1a57973b4d8e63a2c13ada511db61518a8feec55 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Jun 2024 23:30:09 +1000 Subject: [PATCH 10/59] Bump the dependencies group across 1 directory with 3 updates (#7427) Bumps the dependencies group with 3 updates in the / directory: [docker/login-action](https://github.com/docker/login-action), [docker/build-push-action](https://github.com/docker/build-push-action) and [github/codeql-action](https://github.com/github/codeql-action). Updates `docker/login-action` from 3.1.0 to 3.2.0 - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/e92390c5fb421da1463c202d546fed0ec5c39f20...0d4c9c5ea7693da7b068278f7b52bda2a190a446) Updates `docker/build-push-action` from 5.3.0 to 5.4.0 - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/2cdde995de11925a030ce8070c3d77a52ffcf1c0...ca052bb54ab0790a636c9b5f226502c73d547a25) Updates `github/codeql-action` from 3.25.6 to 3.25.8 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/9fdb3e49720b44c48891d036bb502feb25684276...2e230e8fe0ad3a14a340ad0815ddb96d599d2aff) --- updated-dependencies: - dependency-name: docker/login-action dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dependencies - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dependencies - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/docker.yaml | 6 +++--- .github/workflows/scorecard.yaml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index df945dc432..800574ab30 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -140,14 +140,14 @@ jobs: fi - name: Login to Dockerhub if: github.event_name != 'pull_request' && steps.docker_login.outputs.skip_dockerhub_login != 'true' - uses: docker/login-action@e92390c5fb421da1463c202d546fed0ec5c39f20 # pin@v3.1.0 + uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # pin@v3.2.0 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - name: Log into registry ghcr.io if: github.event_name != 'pull_request' - uses: docker/login-action@e92390c5fb421da1463c202d546fed0ec5c39f20 # pin@v3.1.0 + uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # pin@v3.2.0 with: registry: ghcr.io username: ${{ github.actor }} @@ -165,7 +165,7 @@ jobs: - name: Push Docker Images id: push-docker if: github.event_name != 'pull_request' - uses: docker/build-push-action@2cdde995de11925a030ce8070c3d77a52ffcf1c0 # pin@v5.3.0 + uses: docker/build-push-action@ca052bb54ab0790a636c9b5f226502c73d547a25 # pin@v5.4.0 with: context: . file: ./contrib/container/Dockerfile diff --git a/.github/workflows/scorecard.yaml b/.github/workflows/scorecard.yaml index 1fcff72b3d..7bc41fc73e 100644 --- a/.github/workflows/scorecard.yaml +++ b/.github/workflows/scorecard.yaml @@ -67,6 +67,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@9fdb3e49720b44c48891d036bb502feb25684276 # v3.25.6 + uses: github/codeql-action/upload-sarif@2e230e8fe0ad3a14a340ad0815ddb96d599d2aff # v3.25.8 with: sarif_file: results.sarif From 3bedfad733df79a0f91af069486ce1861942086c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 00:04:39 +1000 Subject: [PATCH 11/59] Bump eslint from 9.3.0 to 9.4.0 in /src/backend (#7395) Bumps [eslint](https://github.com/eslint/eslint) from 9.3.0 to 9.4.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v9.3.0...v9.4.0) --- updated-dependencies: - dependency-name: eslint dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/backend/package-lock.json | 51 ++++++++++++++++++----------------- src/backend/package.json | 2 +- 2 files changed, 28 insertions(+), 25 deletions(-) diff --git a/src/backend/package-lock.json b/src/backend/package-lock.json index d611222c0d..fab059686b 100644 --- a/src/backend/package-lock.json +++ b/src/backend/package-lock.json @@ -5,7 +5,7 @@ "packages": { "": { "dependencies": { - "eslint": "^9.3.0", + "eslint": "^9.4.0", "eslint-config-google": "^0.14.0" } }, @@ -50,6 +50,19 @@ "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, + "node_modules/@eslint/config-array": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.15.1.tgz", + "integrity": "sha512-K4gzNq+yymn/EVsXYmf+SBcBro8MTf+aXJZUphM96CdzUEr+ClGDvAbpmaEK+cGVigVXIgs9gNmvHAlrzzY5JQ==", + "dependencies": { + "@eslint/object-schema": "^2.1.3", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/@eslint/eslintrc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", @@ -73,24 +86,19 @@ } }, "node_modules/@eslint/js": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.3.0.tgz", - "integrity": "sha512-niBqk8iwv96+yuTwjM6bWg8ovzAPF9qkICsGtcoa5/dmqcEMfdwNAX7+/OHcJHc7wj7XqPxH98oAHytFYlw6Sw==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.4.0.tgz", + "integrity": "sha512-fdI7VJjP3Rvc70lC4xkFXHB0fiPeojiL1PxVG6t1ZvXQrarj893PweuBTujxDUFk0Fxj4R7PIIAZ/aiiyZPZcg==", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", - "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.3", - "debug": "^4.3.1", - "minimatch": "^3.0.5" - }, + "node_modules/@eslint/object-schema": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.3.tgz", + "integrity": "sha512-HAbhAYKfsAC2EkTqve00ibWIZlaU74Z1EHwAjYr4PXF0YU2VEA1zSIKSSpKszRLRWwHzzRZXvK632u+uXzvsvw==", "engines": { - "node": ">=10.10.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@humanwhocodes/module-importer": { @@ -105,11 +113,6 @@ "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==" - }, "node_modules/@humanwhocodes/retry": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.0.tgz", @@ -319,15 +322,15 @@ } }, "node_modules/eslint": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.3.0.tgz", - "integrity": "sha512-5Iv4CsZW030lpUqHBapdPo3MJetAPtejVW8B84GIcIIv8+ohFaddXsrn1Gn8uD9ijDb+kcYKFUVmC8qG8B2ORQ==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.4.0.tgz", + "integrity": "sha512-sjc7Y8cUD1IlwYcTS9qPSvGjAC8Ne9LctpxKKu3x/1IC9bnOg98Zy6GxEJUfr1NojMgVPlyANXYns8oE2c1TAA==", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", + "@eslint/config-array": "^0.15.1", "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "9.3.0", - "@humanwhocodes/config-array": "^0.13.0", + "@eslint/js": "9.4.0", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.3.0", "@nodelib/fs.walk": "^1.2.8", diff --git a/src/backend/package.json b/src/backend/package.json index 6d256450d3..b72a219be5 100644 --- a/src/backend/package.json +++ b/src/backend/package.json @@ -1,6 +1,6 @@ { "dependencies": { - "eslint": "^9.3.0", + "eslint": "^9.4.0", "eslint-config-google": "^0.14.0" }, "type": "module" From 4631c88a87c3d988b5f592d75cb7fe39533d38fe Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 09:14:24 +1000 Subject: [PATCH 12/59] Bump braces from 3.0.2 to 3.0.3 in /src/frontend (#7430) Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3. - [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md) - [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3) --- updated-dependencies: - dependency-name: braces dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/frontend/yarn.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/frontend/yarn.lock b/src/frontend/yarn.lock index 4188cdbfce..5ff6c94db6 100644 --- a/src/frontend/yarn.lock +++ b/src/frontend/yarn.lock @@ -3070,11 +3070,11 @@ brace-expansion@^1.1.7: concat-map "0.0.1" braces@^3.0.1, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== dependencies: - fill-range "^7.0.1" + fill-range "^7.1.1" browserslist@^4.22.2: version "4.23.0" @@ -3904,10 +3904,10 @@ figures@^3.0.0: dependencies: escape-string-regexp "^1.0.5" -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== dependencies: to-regex-range "^5.0.1" From 06ad599e90a1e07ed284358d3d299f6e1d4dbaed Mon Sep 17 00:00:00 2001 From: Michael Date: Thu, 13 Jun 2024 02:55:59 +0200 Subject: [PATCH 13/59] Remove the New Stock Item button from Stock view in case the user has no Stock write mermission (#7435) * Add location type to location overview * Remove the New Stock Item button from Stock view in case the user has not rights * Remove the New Stock Item button from Stock view in case the user has not rights --- src/backend/InvenTree/stock/templates/stock/location.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/backend/InvenTree/stock/templates/stock/location.html b/src/backend/InvenTree/stock/templates/stock/location.html index 50483ab0a3..edd44c70f5 100644 --- a/src/backend/InvenTree/stock/templates/stock/location.html +++ b/src/backend/InvenTree/stock/templates/stock/location.html @@ -203,9 +203,11 @@

{% trans "Stock Items" %}

{% include "spacer.html" %}
+ {% if roles.stock.add and not part.virtual %} + {% endif %}
From 4c7a74ef051073dc49467d9f6d6ca300062a2cef Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 13 Jun 2024 11:34:58 +1000 Subject: [PATCH 14/59] Fix for report migration (#7438) - Check that non-nullable fields are not null --- .../InvenTree/report/migrations/0026_auto_20240422_1301.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/backend/InvenTree/report/migrations/0026_auto_20240422_1301.py b/src/backend/InvenTree/report/migrations/0026_auto_20240422_1301.py index 838a0ae552..5f7bc8afd1 100644 --- a/src/backend/InvenTree/report/migrations/0026_auto_20240422_1301.py +++ b/src/backend/InvenTree/report/migrations/0026_auto_20240422_1301.py @@ -36,6 +36,8 @@ def convert_legacy_labels(table_name, model_name, template_model): 'name', 'description', 'label', 'enabled', 'height', 'width', 'filename_pattern', 'filters' ] + non_null_fields = ['decription', 'filename_pattern', 'filters'] + fieldnames = ', '.join(fields) query = f"SELECT {fieldnames} FROM {table_name};" @@ -56,6 +58,10 @@ def convert_legacy_labels(table_name, model_name, template_model): fields[idx]: row[idx] for idx in range(len(fields)) } + for field in non_null_fields: + if data[field] is None: + data[field] = '' + # Skip any "builtin" labels if 'label/inventree/' in data['label']: continue From 129975adc6f6628861cf5ba59dac376e26e25ac2 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 13 Jun 2024 12:14:43 +1000 Subject: [PATCH 15/59] Setting refactor (#7404) * Add helper functions to set/get settings * Refactor instances of get_setting * UPdates * Fix for task * Add debug messages - Work out what is going on in CI * add more debug - Cannot reproduce locally? * More debug... * Remove debug prints * Add better debug msg * Simplify unit test * Increase timeout for plugin tests * Update validator code --- src/backend/InvenTree/InvenTree/apps.py | 12 +--- src/backend/InvenTree/InvenTree/fields.py | 7 +-- src/backend/InvenTree/InvenTree/forms.py | 25 +++----- .../InvenTree/InvenTree/helpers_model.py | 42 +++++-------- .../InvenTree/InvenTree/social_auth_urls.py | 10 ++- src/backend/InvenTree/InvenTree/sso.py | 8 +-- src/backend/InvenTree/InvenTree/tasks.py | 61 +++++-------------- .../templatetags/inventree_extras.py | 5 +- src/backend/InvenTree/InvenTree/test_tasks.py | 1 + src/backend/InvenTree/InvenTree/version.py | 15 ++--- src/backend/InvenTree/build/models.py | 3 +- src/backend/InvenTree/build/test_build.py | 15 ++--- src/backend/InvenTree/common/api.py | 3 +- src/backend/InvenTree/common/apps.py | 9 +-- src/backend/InvenTree/common/currency.py | 11 ++-- src/backend/InvenTree/common/settings.py | 38 ++++++++++++ src/backend/InvenTree/common/tests.py | 24 ++++---- src/backend/InvenTree/common/validators.py | 11 ++-- src/backend/InvenTree/order/models.py | 15 ++--- src/backend/InvenTree/part/models.py | 45 ++++++-------- src/backend/InvenTree/part/settings.py | 16 ++--- src/backend/InvenTree/part/tasks.py | 19 ++---- src/backend/InvenTree/part/test_part.py | 23 +++---- src/backend/InvenTree/part/test_pricing.py | 11 ++-- .../InvenTree/plugin/base/event/events.py | 9 +-- .../plugin/base/integration/AppMixin.py | 6 +- .../plugin/base/integration/UrlsMixin.py | 7 +-- src/backend/InvenTree/plugin/registry.py | 17 ++---- .../plugin/templatetags/plugin_extras.py | 4 +- src/backend/InvenTree/plugin/test_api.py | 8 +-- src/backend/InvenTree/report/helpers.py | 6 +- .../InvenTree/report/templatetags/report.py | 8 +-- src/backend/InvenTree/stock/models.py | 17 ++---- src/backend/InvenTree/stock/serializers.py | 8 +-- src/backend/InvenTree/stock/views.py | 14 ++--- src/backend/InvenTree/users/models.py | 18 ++---- 36 files changed, 235 insertions(+), 316 deletions(-) diff --git a/src/backend/InvenTree/InvenTree/apps.py b/src/backend/InvenTree/InvenTree/apps.py index d4ecadeaf4..85d42bf18d 100644 --- a/src/backend/InvenTree/InvenTree/apps.py +++ b/src/backend/InvenTree/InvenTree/apps.py @@ -14,6 +14,7 @@ from django.db.utils import IntegrityError, OperationalError import InvenTree.conversion import InvenTree.ready import InvenTree.tasks +from common.settings import get_global_setting, set_global_setting from InvenTree.config import get_setting logger = logging.getLogger('inventree') @@ -238,8 +239,6 @@ class InvenTreeConfig(AppConfig): - If a fixed SITE_URL is specified (via configuration), it should override the INVENTREE_BASE_URL setting - If multi-site support is enabled, update the site URL for the current site """ - import common.models - if not InvenTree.ready.canAppAccessDatabase(): return @@ -248,13 +247,8 @@ class InvenTreeConfig(AppConfig): if settings.SITE_URL: try: - if ( - common.models.InvenTreeSetting.get_setting('INVENTREE_BASE_URL') - != settings.SITE_URL - ): - common.models.InvenTreeSetting.set_setting( - 'INVENTREE_BASE_URL', settings.SITE_URL - ) + if get_global_setting('INVENTREE_BASE_URL') != settings.SITE_URL: + set_global_setting('INVENTREE_BASE_URL', settings.SITE_URL) logger.info('Updated INVENTREE_SITE_URL to %s', settings.SITE_URL) except Exception: pass diff --git a/src/backend/InvenTree/InvenTree/fields.py b/src/backend/InvenTree/InvenTree/fields.py index 9dd0d81fb0..b1b276abb1 100644 --- a/src/backend/InvenTree/InvenTree/fields.py +++ b/src/backend/InvenTree/InvenTree/fields.py @@ -14,6 +14,7 @@ from rest_framework.fields import URLField as RestURLField from rest_framework.fields import empty import InvenTree.helpers +from common.settings import get_global_setting from .validators import AllowedURLValidator, allowable_url_schemes @@ -32,11 +33,7 @@ class InvenTreeRestURLField(RestURLField): def run_validation(self, data=empty): """Override default validation behaviour for this field type.""" - import common.models - - strict_urls = common.models.InvenTreeSetting.get_setting( - 'INVENTREE_STRICT_URLS', True, cache=False - ) + strict_urls = get_global_setting('INVENTREE_STRICT_URLS', True, cache=False) if not strict_urls and data is not empty and '://' not in data: # Validate as if there were a schema provided diff --git a/src/backend/InvenTree/InvenTree/forms.py b/src/backend/InvenTree/InvenTree/forms.py index 3358804a9a..ff4babe3bf 100644 --- a/src/backend/InvenTree/InvenTree/forms.py +++ b/src/backend/InvenTree/InvenTree/forms.py @@ -24,7 +24,7 @@ from rest_framework import serializers import InvenTree.helpers_model import InvenTree.sso -from common.models import InvenTreeSetting +from common.settings import get_global_setting from InvenTree.exceptions import log_error logger = logging.getLogger('inventree') @@ -172,12 +172,12 @@ class CustomSignupForm(SignupForm): def __init__(self, *args, **kwargs): """Check settings to influence which fields are needed.""" - kwargs['email_required'] = InvenTreeSetting.get_setting('LOGIN_MAIL_REQUIRED') + kwargs['email_required'] = get_global_setting('LOGIN_MAIL_REQUIRED') super().__init__(*args, **kwargs) # check for two mail fields - if InvenTreeSetting.get_setting('LOGIN_SIGNUP_MAIL_TWICE'): + if get_global_setting('LOGIN_SIGNUP_MAIL_TWICE'): self.fields['email2'] = forms.EmailField( label=_('Email (again)'), widget=forms.TextInput( @@ -189,7 +189,7 @@ class CustomSignupForm(SignupForm): ) # check for two password fields - if not InvenTreeSetting.get_setting('LOGIN_SIGNUP_PWD_TWICE'): + if not get_global_setting('LOGIN_SIGNUP_PWD_TWICE'): self.fields.pop('password2') # reorder fields @@ -202,7 +202,7 @@ class CustomSignupForm(SignupForm): cleaned_data = super().clean() # check for two mail fields - if InvenTreeSetting.get_setting('LOGIN_SIGNUP_MAIL_TWICE'): + if get_global_setting('LOGIN_SIGNUP_MAIL_TWICE'): email = cleaned_data.get('email') email2 = cleaned_data.get('email2') if (email and email2) and email != email2: @@ -213,10 +213,7 @@ class CustomSignupForm(SignupForm): def registration_enabled(): """Determine whether user registration is enabled.""" - if ( - InvenTreeSetting.get_setting('LOGIN_ENABLE_REG') - or InvenTree.sso.registration_enabled() - ): + if get_global_setting('LOGIN_ENABLE_REG') or InvenTree.sso.registration_enabled(): if settings.EMAIL_HOST: return True else: @@ -240,9 +237,7 @@ class RegistratonMixin: def clean_email(self, email): """Check if the mail is valid to the pattern in LOGIN_SIGNUP_MAIL_RESTRICTION (if enabled in settings).""" - mail_restriction = InvenTreeSetting.get_setting( - 'LOGIN_SIGNUP_MAIL_RESTRICTION', None - ) + mail_restriction = get_global_setting('LOGIN_SIGNUP_MAIL_RESTRICTION', None) if not mail_restriction: return super().clean_email(email) @@ -273,7 +268,7 @@ class RegistratonMixin: user = super().save_user(request, user, form) # Check if a default group is set in settings - start_group = InvenTreeSetting.get_setting('SIGNUP_GROUP') + start_group = get_global_setting('SIGNUP_GROUP') if start_group: try: group = Group.objects.get(id=start_group) @@ -333,7 +328,7 @@ class CustomSocialAccountAdapter( def is_auto_signup_allowed(self, request, sociallogin): """Check if auto signup is enabled in settings.""" - if InvenTreeSetting.get_setting('LOGIN_SIGNUP_SSO_AUTO', True): + if get_global_setting('LOGIN_SIGNUP_SSO_AUTO', True): return super().is_auto_signup_allowed(request, sociallogin) return False @@ -385,7 +380,7 @@ class CustomRegisterSerializer(RegisterSerializer): def __init__(self, instance=None, data=..., **kwargs): """Check settings to influence which fields are needed.""" - kwargs['email_required'] = InvenTreeSetting.get_setting('LOGIN_MAIL_REQUIRED') + kwargs['email_required'] = get_global_setting('LOGIN_MAIL_REQUIRED') super().__init__(instance, data, **kwargs) def save(self, request): diff --git a/src/backend/InvenTree/InvenTree/helpers_model.py b/src/backend/InvenTree/InvenTree/helpers_model.py index 4296b4f0dc..3fb73c852d 100644 --- a/src/backend/InvenTree/InvenTree/helpers_model.py +++ b/src/backend/InvenTree/InvenTree/helpers_model.py @@ -15,7 +15,6 @@ from djmoney.contrib.exchange.models import convert_money from djmoney.money import Money from PIL import Image -import common.models import InvenTree import InvenTree.helpers_model import InvenTree.version @@ -24,16 +23,12 @@ from common.notifications import ( NotificationBody, trigger_notification, ) +from common.settings import get_global_setting from InvenTree.format import format_money logger = logging.getLogger('inventree') -def getSetting(key, backup_value=None): - """Shortcut for reading a setting value from the database.""" - return common.models.InvenTreeSetting.get_setting(key, backup_value=backup_value) - - def get_base_url(request=None): """Return the base URL for the InvenTree server. @@ -44,6 +39,8 @@ def get_base_url(request=None): 3. If settings.SITE_URL is set (e.g. in the Django settings), use that 4. If the InvenTree setting INVENTREE_BASE_URL is set, use that """ + import common.models + # Check if a request is provided if request: return request.build_absolute_uri('/') @@ -62,9 +59,7 @@ def get_base_url(request=None): # Check if a global InvenTree setting is provided try: - if site_url := common.models.InvenTreeSetting.get_setting( - 'INVENTREE_BASE_URL', create=False - ): + if site_url := get_global_setting('INVENTREE_BASE_URL', create=False): return site_url except (ProgrammingError, OperationalError): pass @@ -112,25 +107,20 @@ def download_image_from_url(remote_url, timeout=2.5): ValueError: Server responded with invalid 'Content-Length' value TypeError: Response is not a valid image """ + import common.models + # Check that the provided URL at least looks valid validator = URLValidator() validator(remote_url) # Calculate maximum allowable image size (in bytes) max_size = ( - int( - common.models.InvenTreeSetting.get_setting( - 'INVENTREE_DOWNLOAD_IMAGE_MAX_SIZE' - ) - ) - * 1024 - * 1024 + int(get_global_setting('INVENTREE_DOWNLOAD_IMAGE_MAX_SIZE')) * 1024 * 1024 ) # Add user specified user-agent to request (if specified) - user_agent = common.models.InvenTreeSetting.get_setting( - 'INVENTREE_DOWNLOAD_FROM_URL_USER_AGENT' - ) + user_agent = get_global_setting('INVENTREE_DOWNLOAD_FROM_URL_USER_AGENT') + if user_agent: headers = {'User-Agent': user_agent} else: @@ -216,6 +206,8 @@ def render_currency( max_decimal_places: The maximum number of decimal places to render to. If unspecified, uses the PRICING_DECIMAL_PLACES setting. include_symbol: If True, include the currency symbol in the output """ + import common.models + if money in [None, '']: return '-' @@ -231,19 +223,13 @@ def render_currency( pass if decimal_places is None: - decimal_places = common.models.InvenTreeSetting.get_setting( - 'PRICING_DECIMAL_PLACES', 6 - ) + decimal_places = get_global_setting('PRICING_DECIMAL_PLACES', 6) if min_decimal_places is None: - min_decimal_places = common.models.InvenTreeSetting.get_setting( - 'PRICING_DECIMAL_PLACES_MIN', 0 - ) + min_decimal_places = get_global_setting('PRICING_DECIMAL_PLACES_MIN', 0) if max_decimal_places is None: - max_decimal_places = common.models.InvenTreeSetting.get_setting( - 'PRICING_DECIMAL_PLACES', 6 - ) + max_decimal_places = get_global_setting('PRICING_DECIMAL_PLACES', 6) value = Decimal(str(money.amount)).normalize() value = str(value) diff --git a/src/backend/InvenTree/InvenTree/social_auth_urls.py b/src/backend/InvenTree/InvenTree/social_auth_urls.py index 79f6bed08b..49d9e461ee 100644 --- a/src/backend/InvenTree/InvenTree/social_auth_urls.py +++ b/src/backend/InvenTree/InvenTree/social_auth_urls.py @@ -15,7 +15,7 @@ from rest_framework.permissions import AllowAny, IsAuthenticated from rest_framework.response import Response import InvenTree.sso -from common.models import InvenTreeSetting +from common.settings import get_global_setting from InvenTree.mixins import CreateAPI, ListAPI, ListCreateAPI from InvenTree.serializers import EmptySerializer, InvenTreeModelSerializer @@ -177,12 +177,10 @@ class SocialProviderListView(ListAPI): data = { 'sso_enabled': InvenTree.sso.login_enabled(), 'sso_registration': InvenTree.sso.registration_enabled(), - 'mfa_required': InvenTreeSetting.get_setting('LOGIN_ENFORCE_MFA'), + 'mfa_required': get_global_setting('LOGIN_ENFORCE_MFA'), 'providers': provider_list, - 'registration_enabled': InvenTreeSetting.get_setting('LOGIN_ENABLE_REG'), - 'password_forgotten_enabled': InvenTreeSetting.get_setting( - 'LOGIN_ENABLE_PWD_FORGOT' - ), + 'registration_enabled': get_global_setting('LOGIN_ENABLE_REG'), + 'password_forgotten_enabled': get_global_setting('LOGIN_ENABLE_PWD_FORGOT'), } return Response(data) diff --git a/src/backend/InvenTree/InvenTree/sso.py b/src/backend/InvenTree/InvenTree/sso.py index 0ad165a0b7..b3fb551cf2 100644 --- a/src/backend/InvenTree/InvenTree/sso.py +++ b/src/backend/InvenTree/InvenTree/sso.py @@ -2,7 +2,7 @@ import logging -from common.models import InvenTreeSetting +from common.settings import get_global_setting from InvenTree.helpers import str2bool logger = logging.getLogger('inventree') @@ -64,14 +64,14 @@ def provider_display_name(provider): def login_enabled() -> bool: """Return True if SSO login is enabled.""" - return str2bool(InvenTreeSetting.get_setting('LOGIN_ENABLE_SSO')) + return str2bool(get_global_setting('LOGIN_ENABLE_SSO')) def registration_enabled() -> bool: """Return True if SSO registration is enabled.""" - return str2bool(InvenTreeSetting.get_setting('LOGIN_ENABLE_SSO_REG')) + return str2bool(get_global_setting('LOGIN_ENABLE_SSO_REG')) def auto_registration_enabled() -> bool: """Return True if SSO auto-registration is enabled.""" - return str2bool(InvenTreeSetting.get_setting('LOGIN_SIGNUP_SSO_AUTO')) + return str2bool(get_global_setting('LOGIN_SIGNUP_SSO_AUTO')) diff --git a/src/backend/InvenTree/InvenTree/tasks.py b/src/backend/InvenTree/InvenTree/tasks.py index 9b8366ef82..65115d6862 100644 --- a/src/backend/InvenTree/InvenTree/tasks.py +++ b/src/backend/InvenTree/InvenTree/tasks.py @@ -26,6 +26,7 @@ from maintenance_mode.core import ( set_maintenance_mode, ) +from common.settings import get_global_setting, set_global_setting from InvenTree.config import get_setting from plugin import registry @@ -90,7 +91,6 @@ def check_daily_holdoff(task_name: str, n_days: int = 1) -> bool: Note that this function creates some *hidden* global settings (designated with the _ prefix), which are used to keep a running track of when the particular task was was last run. """ - from common.models import InvenTreeSetting from InvenTree.ready import isInTestMode if n_days <= 0: @@ -107,7 +107,7 @@ def check_daily_holdoff(task_name: str, n_days: int = 1) -> bool: success_key = f'_{task_name}_SUCCESS' # Check for recent success information - last_success = InvenTreeSetting.get_setting(success_key, '', cache=False) + last_success = get_global_setting(success_key, '', cache=False) if last_success: try: @@ -125,7 +125,7 @@ def check_daily_holdoff(task_name: str, n_days: int = 1) -> bool: return False # Check for any information we have about this task - last_attempt = InvenTreeSetting.get_setting(attempt_key, '', cache=False) + last_attempt = get_global_setting(attempt_key, '', cache=False) if last_attempt: try: @@ -152,22 +152,14 @@ def check_daily_holdoff(task_name: str, n_days: int = 1) -> bool: def record_task_attempt(task_name: str): """Record that a multi-day task has been attempted *now*.""" - from common.models import InvenTreeSetting - logger.info("Logging task attempt for '%s'", task_name) - InvenTreeSetting.set_setting( - f'_{task_name}_ATTEMPT', datetime.now().isoformat(), None - ) + set_global_setting(f'_{task_name}_ATTEMPT', datetime.now().isoformat(), None) def record_task_success(task_name: str): """Record that a multi-day task was successful *now*.""" - from common.models import InvenTreeSetting - - InvenTreeSetting.set_setting( - f'_{task_name}_SUCCESS', datetime.now().isoformat(), None - ) + set_global_setting(f'_{task_name}_SUCCESS', datetime.now().isoformat(), None) def offload_task( @@ -380,9 +372,7 @@ def delete_successful_tasks(): try: from django_q.models import Success - from common.models import InvenTreeSetting - - days = InvenTreeSetting.get_setting('INVENTREE_DELETE_TASKS_DAYS', 30) + days = get_global_setting('INVENTREE_DELETE_TASKS_DAYS', 30) threshold = timezone.now() - timedelta(days=days) # Delete successful tasks @@ -404,9 +394,7 @@ def delete_failed_tasks(): try: from django_q.models import Failure - from common.models import InvenTreeSetting - - days = InvenTreeSetting.get_setting('INVENTREE_DELETE_TASKS_DAYS', 30) + days = get_global_setting('INVENTREE_DELETE_TASKS_DAYS', 30) threshold = timezone.now() - timedelta(days=days) # Delete failed tasks @@ -426,9 +414,7 @@ def delete_old_error_logs(): try: from error_report.models import Error - from common.models import InvenTreeSetting - - days = InvenTreeSetting.get_setting('INVENTREE_DELETE_ERRORS_DAYS', 30) + days = get_global_setting('INVENTREE_DELETE_ERRORS_DAYS', 30) threshold = timezone.now() - timedelta(days=days) errors = Error.objects.filter(when__lte=threshold) @@ -448,13 +434,9 @@ def delete_old_error_logs(): def delete_old_notifications(): """Delete old notification logs.""" try: - from common.models import ( - InvenTreeSetting, - NotificationEntry, - NotificationMessage, - ) + from common.models import NotificationEntry, NotificationMessage - days = InvenTreeSetting.get_setting('INVENTREE_DELETE_NOTIFICATIONS_DAYS', 30) + days = get_global_setting('INVENTREE_DELETE_NOTIFICATIONS_DAYS', 30) threshold = timezone.now() - timedelta(days=days) items = NotificationEntry.objects.filter(updated__lte=threshold) @@ -479,7 +461,6 @@ def delete_old_notifications(): def check_for_updates(): """Check if there is an update for InvenTree.""" try: - import common.models from common.notifications import trigger_superuser_notification except AppRegistryNotReady: # pragma: no cover # Apps not yet loaded! @@ -487,9 +468,7 @@ def check_for_updates(): return interval = int( - common.models.InvenTreeSetting.get_setting( - 'INVENTREE_UPDATE_CHECK_INTERVAL', 7, cache=False - ) + get_global_setting('INVENTREE_UPDATE_CHECK_INTERVAL', 7, cache=False) ) # Check if we should check for updates *today* @@ -538,7 +517,7 @@ def check_for_updates(): logger.info("Latest InvenTree version: '%s'", tag) # Save the version to the database - common.models.InvenTreeSetting.set_setting('_INVENTREE_LATEST_VERSION', tag, None) + set_global_setting('_INVENTREE_LATEST_VERSION', tag, None) # Record that this task was successful record_task_success('check_for_updates') @@ -572,7 +551,6 @@ def update_exchange_rates(force: bool = False): from djmoney.contrib.exchange.models import Rate from common.currency import currency_code_default, currency_codes - from common.models import InvenTreeSetting from InvenTree.exchange import InvenTreeExchange except AppRegistryNotReady: # pragma: no cover # Apps not yet loaded! @@ -585,9 +563,7 @@ def update_exchange_rates(force: bool = False): return if not force: - interval = int( - InvenTreeSetting.get_setting('CURRENCY_UPDATE_INTERVAL', 1, cache=False) - ) + interval = int(get_global_setting('CURRENCY_UPDATE_INTERVAL', 1, cache=False)) if not check_daily_holdoff('update_exchange_rates', interval): logger.info('Skipping exchange rate update (interval not reached)') @@ -617,15 +593,11 @@ def update_exchange_rates(force: bool = False): @scheduled_task(ScheduledTask.DAILY) def run_backup(): """Run the backup command.""" - from common.models import InvenTreeSetting - - if not InvenTreeSetting.get_setting('INVENTREE_BACKUP_ENABLE', False, cache=False): + if not get_global_setting('INVENTREE_BACKUP_ENABLE', False, cache=False): # Backups are not enabled - exit early return - interval = int( - InvenTreeSetting.get_setting('INVENTREE_BACKUP_DAYS', 1, cache=False) - ) + interval = int(get_global_setting('INVENTREE_BACKUP_DAYS', 1, cache=False)) # Check if should run this task *today* if not check_daily_holdoff('run_backup', interval): @@ -655,13 +627,12 @@ def check_for_migrations(force: bool = False, reload_registry: bool = True): If the setting auto_update is enabled we will start updating. """ - from common.models import InvenTreeSetting from plugin import registry def set_pending_migrations(n: int): """Helper function to inform the user about pending migrations.""" logger.info('There are %s pending migrations', n) - InvenTreeSetting.set_setting('_PENDING_MIGRATIONS', n, None) + set_global_setting('_PENDING_MIGRATIONS', n, None) logger.info('Checking for pending database migrations') diff --git a/src/backend/InvenTree/InvenTree/templatetags/inventree_extras.py b/src/backend/InvenTree/InvenTree/templatetags/inventree_extras.py index c6408d8f34..00641abc19 100644 --- a/src/backend/InvenTree/InvenTree/templatetags/inventree_extras.py +++ b/src/backend/InvenTree/InvenTree/templatetags/inventree_extras.py @@ -17,6 +17,7 @@ import InvenTree.helpers import InvenTree.helpers_model import plugin.models from common.currency import currency_code_default +from common.settings import get_global_setting from InvenTree import settings, version from plugin import registry from plugin.plugin import InvenTreePlugin @@ -135,7 +136,7 @@ def inventree_in_debug_mode(*args, **kwargs): @register.simple_tag() def inventree_show_about(user, *args, **kwargs): """Return True if the about modal should be shown.""" - if common.models.InvenTreeSetting.get_setting('INVENTREE_RESTRICT_ABOUT'): + if get_global_setting('INVENTREE_RESTRICT_ABOUT'): # Return False if the user is not a superuser, or no user information is provided if not user or not user.is_superuser: return False @@ -373,7 +374,7 @@ def settings_value(key, *args, **kwargs): return common.models.InvenTreeUserSetting.get_setting(key) return common.models.InvenTreeUserSetting.get_setting(key, user=kwargs['user']) - return common.models.InvenTreeSetting.get_setting(key) + return get_global_setting(key) @register.simple_tag() diff --git a/src/backend/InvenTree/InvenTree/test_tasks.py b/src/backend/InvenTree/InvenTree/test_tasks.py index eec5b39a69..2cb1ae6f51 100644 --- a/src/backend/InvenTree/InvenTree/test_tasks.py +++ b/src/backend/InvenTree/InvenTree/test_tasks.py @@ -122,6 +122,7 @@ class InvenTreeTaskTests(TestCase): def test_task_check_for_updates(self): """Test the task check_for_updates.""" # Check that setting should be empty + InvenTreeSetting.set_setting('_INVENTREE_LATEST_VERSION', '') self.assertEqual(InvenTreeSetting.get_setting('_INVENTREE_LATEST_VERSION'), '') # Get new version diff --git a/src/backend/InvenTree/InvenTree/version.py b/src/backend/InvenTree/InvenTree/version.py index eef574e1bd..6c67752cb5 100644 --- a/src/backend/InvenTree/InvenTree/version.py +++ b/src/backend/InvenTree/InvenTree/version.py @@ -16,6 +16,8 @@ from django.conf import settings from dulwich.repo import NotGitRepository, Repo +from common.settings import get_global_setting + from .api_version import INVENTREE_API_TEXT, INVENTREE_API_VERSION # InvenTree software version @@ -51,17 +53,14 @@ def checkMinPythonVersion(): def inventreeInstanceName(): """Returns the InstanceName settings for the current database.""" - import common.models - - return common.models.InvenTreeSetting.get_setting('INVENTREE_INSTANCE', '') + return get_global_setting('INVENTREE_INSTANCE', '') def inventreeInstanceTitle(): """Returns the InstanceTitle for the current database.""" - import common.models + if get_global_setting('INVENTREE_INSTANCE_TITLE', False): + return get_global_setting('INVENTREE_INSTANCE', 'InvenTree') - if common.models.InvenTreeSetting.get_setting('INVENTREE_INSTANCE_TITLE', False): - return common.models.InvenTreeSetting.get_setting('INVENTREE_INSTANCE', '') return 'InvenTree' @@ -122,9 +121,7 @@ def isInvenTreeUpToDate(): A background task periodically queries GitHub for latest version, and stores it to the database as "_INVENTREE_LATEST_VERSION" """ - import common.models - - latest = common.models.InvenTreeSetting.get_setting( + latest = get_global_setting( '_INVENTREE_LATEST_VERSION', backup_value=None, create=False ) diff --git a/src/backend/InvenTree/build/models.py b/src/backend/InvenTree/build/models.py index ffbbc0b544..31bf282d59 100644 --- a/src/backend/InvenTree/build/models.py +++ b/src/backend/InvenTree/build/models.py @@ -36,6 +36,7 @@ import InvenTree.tasks import common.models from common.notifications import trigger_notification, InvenTreeNotificationBodies +from common.settings import get_global_setting from plugin.events import trigger_event import part.models @@ -136,7 +137,7 @@ class Build( super().clean() - if common.models.InvenTreeSetting.get_setting('BUILDORDER_REQUIRE_RESPONSIBLE'): + if get_global_setting('BUILDORDER_REQUIRE_RESPONSIBLE'): if not self.responsible: raise ValidationError({ 'responsible': _('Responsible user or group must be specified') diff --git a/src/backend/InvenTree/build/test_build.py b/src/backend/InvenTree/build/test_build.py index fd4fe9975f..4f06038888 100644 --- a/src/backend/InvenTree/build/test_build.py +++ b/src/backend/InvenTree/build/test_build.py @@ -12,6 +12,7 @@ from django.db.models import Sum from InvenTree import status_codes as status import common.models +from common.settings import set_global_setting import build.tasks from build.models import Build, BuildItem, BuildLine, generate_next_build_reference from part.models import Part, BomItem, BomItemSubstitute, PartTestTemplate @@ -215,7 +216,7 @@ class BuildTest(BuildTestBase): def test_ref_int(self): """Test the "integer reference" field used for natural sorting""" # Set build reference to new value - common.models.InvenTreeSetting.set_setting('BUILDORDER_REFERENCE_PATTERN', 'BO-{ref}-???', change_user=None) + set_global_setting('BUILDORDER_REFERENCE_PATTERN', 'BO-{ref}-???', change_user=None) refs = { 'BO-123-456': 123, @@ -238,7 +239,7 @@ class BuildTest(BuildTestBase): self.assertEqual(build.reference_int, ref_int) # Set build reference back to default value - common.models.InvenTreeSetting.set_setting('BUILDORDER_REFERENCE_PATTERN', 'BO-{ref:04d}', change_user=None) + set_global_setting('BUILDORDER_REFERENCE_PATTERN', 'BO-{ref:04d}', change_user=None) def test_ref_validation(self): """Test that the reference field validation works as expected""" @@ -271,7 +272,7 @@ class BuildTest(BuildTestBase): ) # Try a new validator pattern - common.models.InvenTreeSetting.set_setting('BUILDORDER_REFERENCE_PATTERN', '{ref}-BO', change_user=None) + set_global_setting('BUILDORDER_REFERENCE_PATTERN', '{ref}-BO', change_user=None) for ref in [ '1234-BO', @@ -285,11 +286,11 @@ class BuildTest(BuildTestBase): ) # Set build reference back to default value - common.models.InvenTreeSetting.set_setting('BUILDORDER_REFERENCE_PATTERN', 'BO-{ref:04d}', change_user=None) + set_global_setting('BUILDORDER_REFERENCE_PATTERN', 'BO-{ref:04d}', change_user=None) def test_next_ref(self): """Test that the next reference is automatically generated""" - common.models.InvenTreeSetting.set_setting('BUILDORDER_REFERENCE_PATTERN', 'XYZ-{ref:06d}', change_user=None) + set_global_setting('BUILDORDER_REFERENCE_PATTERN', 'XYZ-{ref:06d}', change_user=None) build = Build.objects.create( part=self.assembly, @@ -311,7 +312,7 @@ class BuildTest(BuildTestBase): self.assertEqual(build.reference_int, 988) # Set build reference back to default value - common.models.InvenTreeSetting.set_setting('BUILDORDER_REFERENCE_PATTERN', 'BO-{ref:04d}', change_user=None) + set_global_setting('BUILDORDER_REFERENCE_PATTERN', 'BO-{ref:04d}', change_user=None) def test_init(self): """Perform some basic tests before we start the ball rolling""" @@ -647,7 +648,7 @@ class BuildTest(BuildTestBase): """Test the prevention completion when a required test is missing feature""" # with required tests incompleted the save should fail - common.models.InvenTreeSetting.set_setting('PREVENT_BUILD_COMPLETION_HAVING_INCOMPLETED_TESTS', True, change_user=None) + set_global_setting('PREVENT_BUILD_COMPLETION_HAVING_INCOMPLETED_TESTS', True, change_user=None) with self.assertRaises(ValidationError): self.build_w_tests_trackable.complete_build_output(self.stockitem_with_required_test, None) diff --git a/src/backend/InvenTree/common/api.py b/src/backend/InvenTree/common/api.py index 3d1cda90f6..6965b21ec8 100644 --- a/src/backend/InvenTree/common/api.py +++ b/src/backend/InvenTree/common/api.py @@ -22,6 +22,7 @@ from rest_framework.views import APIView import common.models import common.serializers +from common.settings import get_global_setting from generic.states.api import AllStatusViews, StatusView from InvenTree.api import BulkDeleteMixin, MetadataView from InvenTree.config import CONFIG_LOOKUPS @@ -149,7 +150,7 @@ class CurrencyExchangeView(APIView): updated = None response = { - 'base_currency': common.models.InvenTreeSetting.get_setting( + 'base_currency': get_global_setting( 'INVENTREE_DEFAULT_CURRENCY', backup_value='USD' ), 'exchange_rates': {}, diff --git a/src/backend/InvenTree/common/apps.py b/src/backend/InvenTree/common/apps.py index a62c15d59f..6536499229 100644 --- a/src/backend/InvenTree/common/apps.py +++ b/src/backend/InvenTree/common/apps.py @@ -5,6 +5,7 @@ import logging from django.apps import AppConfig import InvenTree.ready +from common.settings import get_global_setting, set_global_setting logger = logging.getLogger('inventree') @@ -27,16 +28,12 @@ class CommonConfig(AppConfig): def clear_restart_flag(self): """Clear the SERVER_RESTART_REQUIRED setting.""" try: - import common.models - - if common.models.InvenTreeSetting.get_setting( + if get_global_setting( 'SERVER_RESTART_REQUIRED', backup_value=False, create=False, cache=False ): logger.info('Clearing SERVER_RESTART_REQUIRED flag') if not InvenTree.ready.isImportingData(): - common.models.InvenTreeSetting.set_setting( - 'SERVER_RESTART_REQUIRED', False, None - ) + set_global_setting('SERVER_RESTART_REQUIRED', False, None) except Exception: pass diff --git a/src/backend/InvenTree/common/currency.py b/src/backend/InvenTree/common/currency.py index c77549c550..4c0c887b5e 100644 --- a/src/backend/InvenTree/common/currency.py +++ b/src/backend/InvenTree/common/currency.py @@ -17,7 +17,7 @@ logger = logging.getLogger('inventree') def currency_code_default(): """Returns the default currency code (or USD if not specified).""" - from common.models import InvenTreeSetting + from common.settings import get_global_setting try: cached_value = cache.get('currency_code_default', '') @@ -28,7 +28,7 @@ def currency_code_default(): return cached_value try: - code = InvenTreeSetting.get_setting( + code = get_global_setting( 'INVENTREE_DEFAULT_CURRENCY', backup_value='', create=True, cache=True ) except Exception: # pragma: no cover @@ -59,9 +59,9 @@ def currency_codes_default_list() -> str: def currency_codes() -> list: """Returns the current currency codes.""" - from common.models import InvenTreeSetting + from common.settings import get_global_setting - codes = InvenTreeSetting.get_setting('CURRENCY_CODES', '', create=False).strip() + codes = get_global_setting('CURRENCY_CODES', '', create=False).strip() if not codes: codes = currency_codes_default_list() @@ -150,6 +150,9 @@ def currency_exchange_plugins() -> list: except Exception: plugs = [] + if len(plugs) == 0: + return None + return [('', _('No plugin'))] + [(plug.slug, plug.human_name) for plug in plugs] diff --git a/src/backend/InvenTree/common/settings.py b/src/backend/InvenTree/common/settings.py index 67a96c3510..d27ddfa2f4 100644 --- a/src/backend/InvenTree/common/settings.py +++ b/src/backend/InvenTree/common/settings.py @@ -1,6 +1,44 @@ """User-configurable settings for the common app.""" +def get_global_setting(key, backup_value=None, **kwargs): + """Return the value of a global setting using the provided key.""" + from common.models import InvenTreeSetting + + kwargs['backup_value'] = backup_value + + return InvenTreeSetting.get_setting(key, **kwargs) + + +def set_global_setting(key, value, change_user=None, create=True, **kwargs): + """Set the value of a global setting using the provided key.""" + from common.models import InvenTreeSetting + + kwargs['change_user'] = change_user + kwargs['create'] = create + + return InvenTreeSetting.set_setting(key, value, **kwargs) + + +def get_user_setting(key, user, backup_value=None, **kwargs): + """Return the value of a user-specific setting using the provided key.""" + from common.models import InvenTreeUserSetting + + kwargs['user'] = user + kwargs['backup_value'] = backup_value + + return InvenTreeUserSetting.get_setting(key, **kwargs) + + +def set_user_setting(key, value, user, **kwargs): + """Set the value of a user-specific setting using the provided key.""" + from common.models import InvenTreeUserSetting + + kwargs['user'] = user + + return InvenTreeUserSetting.set_setting(key, value, **kwargs) + + def stock_expiry_enabled(): """Returns True if the stock expiry feature is enabled.""" from common.models import InvenTreeSetting diff --git a/src/backend/InvenTree/common/tests.py b/src/backend/InvenTree/common/tests.py index 7aad13713c..fda28be67e 100644 --- a/src/backend/InvenTree/common/tests.py +++ b/src/backend/InvenTree/common/tests.py @@ -18,6 +18,7 @@ from django.urls import reverse import PIL +from common.settings import get_global_setting, set_global_setting from InvenTree.helpers import str2bool from InvenTree.unit_test import InvenTreeAPITestCase, InvenTreeTestCase, PluginMixin from plugin import registry @@ -273,13 +274,19 @@ class SettingsTest(InvenTreeTestCase): print(f"run_settings_check failed for user setting '{key}'") raise exc - @override_settings(SITE_URL=None) + @override_settings(SITE_URL=None, PLUGIN_TESTING=True, PLUGIN_TESTING_SETUP=True) def test_defaults(self): """Populate the settings with default values.""" + N = len(InvenTreeSetting.SETTINGS.keys()) + for key in InvenTreeSetting.SETTINGS.keys(): value = InvenTreeSetting.get_setting_default(key) - InvenTreeSetting.set_setting(key, value, self.user) + try: + InvenTreeSetting.set_setting(key, value, change_user=self.user) + except Exception as exc: + print(f"test_defaults: Failed to set default value for setting '{key}'") + raise exc self.assertEqual(value, InvenTreeSetting.get_setting(key)) @@ -287,11 +294,6 @@ class SettingsTest(InvenTreeTestCase): setting = InvenTreeSetting.get_setting_object(key) if setting.is_bool(): - if setting.default_value in ['', None]: - raise ValueError( - f'Default value for boolean setting {key} not provided' - ) # pragma: no cover - if setting.default_value not in [True, False]: raise ValueError( f'Non-boolean default value specified for {key}' @@ -975,17 +977,13 @@ class CommonTest(InvenTreeAPITestCase): from plugin import registry # set flag true - common.models.InvenTreeSetting.set_setting( - 'SERVER_RESTART_REQUIRED', True, None - ) + set_global_setting('SERVER_RESTART_REQUIRED', True, None) # reload the app registry.reload_plugins() # now it should be false again - self.assertFalse( - common.models.InvenTreeSetting.get_setting('SERVER_RESTART_REQUIRED') - ) + self.assertFalse(get_global_setting('SERVER_RESTART_REQUIRED')) def test_config_api(self): """Test config URLs.""" diff --git a/src/backend/InvenTree/common/validators.py b/src/backend/InvenTree/common/validators.py index 36c66c7f12..d97983f5a3 100644 --- a/src/backend/InvenTree/common/validators.py +++ b/src/backend/InvenTree/common/validators.py @@ -5,7 +5,7 @@ import re from django.core.exceptions import ValidationError from django.utils.translation import gettext_lazy as _ -import InvenTree.helpers_model +from common.settings import get_global_setting def validate_notes_model_type(value): @@ -13,6 +13,7 @@ def validate_notes_model_type(value): The provided value must map to a model which implements the 'InvenTreeNotesMixin'. """ + import InvenTree.helpers_model import InvenTree.models if not value: @@ -31,11 +32,9 @@ def validate_notes_model_type(value): def validate_decimal_places_min(value): """Validator for PRICING_DECIMAL_PLACES_MIN setting.""" - from common.models import InvenTreeSetting - try: value = int(value) - places_max = int(InvenTreeSetting.get_setting('PRICING_DECIMAL_PLACES')) + places_max = int(get_global_setting('PRICING_DECIMAL_PLACES', create=False)) except Exception: return @@ -45,11 +44,9 @@ def validate_decimal_places_min(value): def validate_decimal_places_max(value): """Validator for PRICING_DECIMAL_PLACES_MAX setting.""" - from common.models import InvenTreeSetting - try: value = int(value) - places_min = int(InvenTreeSetting.get_setting('PRICING_DECIMAL_PLACES_MIN')) + places_min = int(get_global_setting('PRICING_DECIMAL_PLACES_MIN', create=False)) except Exception: return diff --git a/src/backend/InvenTree/order/models.py b/src/backend/InvenTree/order/models.py index 36dad6aa9f..8fb2c8449c 100644 --- a/src/backend/InvenTree/order/models.py +++ b/src/backend/InvenTree/order/models.py @@ -35,6 +35,7 @@ import stock.models import users.models as UserModels from common.currency import currency_code_default from common.notifications import InvenTreeNotificationBodies +from common.settings import get_global_setting from company.models import Address, Company, Contact, SupplierPart from generic.states import StateTransitionMixin from InvenTree.exceptions import log_error @@ -44,7 +45,7 @@ from InvenTree.fields import ( RoundingDecimalField, ) from InvenTree.helpers import decimal2string, pui_url -from InvenTree.helpers_model import getSetting, notify_responsible +from InvenTree.helpers_model import notify_responsible from order.status_codes import ( PurchaseOrderStatus, PurchaseOrderStatusGroups, @@ -232,9 +233,7 @@ class Order( # Check if a responsible owner is required for this order type if self.REQUIRE_RESPONSIBLE_SETTING: - if common_models.InvenTreeSetting.get_setting( - self.REQUIRE_RESPONSIBLE_SETTING, backup_value=False - ): + if get_global_setting(self.REQUIRE_RESPONSIBLE_SETTING, backup_value=False): if not self.responsible: raise ValidationError({ 'responsible': _('Responsible user or group must be specified') @@ -820,9 +819,7 @@ class PurchaseOrder(TotalPriceMixin, Order): # Has this order been completed? if len(self.pending_line_items()) == 0: - if common_models.InvenTreeSetting.get_setting( - 'PURCHASEORDER_AUTO_COMPLETE', True - ): + if get_global_setting('PURCHASEORDER_AUTO_COMPLETE', True): self.received_by = user self.complete_order() # This will save the model @@ -1073,7 +1070,7 @@ class SalesOrder(TotalPriceMixin, Order): return False bypass_shipped = InvenTree.helpers.str2bool( - common_models.InvenTreeSetting.get_setting('SALESORDER_SHIP_COMPLETE') + get_global_setting('SALESORDER_SHIP_COMPLETE') ) if bypass_shipped or self.status == SalesOrderStatus.SHIPPED: @@ -1231,7 +1228,7 @@ def after_save_sales_order(sender, instance: SalesOrder, created: bool, **kwargs if created: # A new SalesOrder has just been created - if getSetting('SALESORDER_DEFAULT_SHIPMENT'): + if get_global_setting('SALESORDER_DEFAULT_SHIPMENT'): # Create default shipment SalesOrderShipment.objects.create(order=instance, reference='1') diff --git a/src/backend/InvenTree/part/models.py b/src/backend/InvenTree/part/models.py index 5626d8d060..bd84892ff3 100644 --- a/src/backend/InvenTree/part/models.py +++ b/src/backend/InvenTree/part/models.py @@ -50,6 +50,7 @@ from build import models as BuildModels from build.status_codes import BuildStatusGroups from common.currency import currency_code_default from common.models import InvenTreeSetting +from common.settings import get_global_setting, set_global_setting from company.models import SupplierPart from InvenTree import helpers, validators from InvenTree.fields import InvenTreeURLField @@ -482,9 +483,7 @@ class Part( if self.active: raise ValidationError(_('Cannot delete this part as it is still active')) - if not common.models.InvenTreeSetting.get_setting( - 'PART_ALLOW_DELETE_FROM_ASSEMBLY', cache=False - ): + if not get_global_setting('PART_ALLOW_DELETE_FROM_ASSEMBLY', cache=False): if BomItem.objects.filter(sub_part=self).exists(): raise ValidationError( _('Cannot delete this part as it is used in an assembly') @@ -649,9 +648,7 @@ class Part( raise ValidationError({'IPN': exc.message}) # If we get to here, none of the plugins have raised an error - pattern = common.models.InvenTreeSetting.get_setting( - 'PART_IPN_REGEX', '', create=False - ).strip() + pattern = get_global_setting('PART_IPN_REGEX', '', create=False).strip() if pattern: match = re.search(pattern, self.IPN) @@ -719,9 +716,7 @@ class Part( from part.models import Part from stock.models import StockItem - if common.models.InvenTreeSetting.get_setting( - 'SERIAL_NUMBER_GLOBALLY_UNIQUE', False - ): + if get_global_setting('SERIAL_NUMBER_GLOBALLY_UNIQUE', False): # Serial number must be unique across *all* parts parts = Part.objects.all() else: @@ -775,9 +770,7 @@ class Part( ) # Generate a query for any stock items for this part variant tree with non-empty serial numbers - if common.models.InvenTreeSetting.get_setting( - 'SERIAL_NUMBER_GLOBALLY_UNIQUE', False - ): + if get_global_setting('SERIAL_NUMBER_GLOBALLY_UNIQUE', False): # Serial numbers are unique across all parts pass else: @@ -831,9 +824,7 @@ class Part( super().validate_unique(exclude) # User can decide whether duplicate IPN (Internal Part Number) values are allowed - allow_duplicate_ipn = common.models.InvenTreeSetting.get_setting( - 'PART_ALLOW_DUPLICATE_IPN' - ) + allow_duplicate_ipn = get_global_setting('PART_ALLOW_DUPLICATE_IPN') # Raise an error if an IPN is set, and it is a duplicate if self.IPN and not allow_duplicate_ipn: @@ -2749,11 +2740,11 @@ class PartPricing(common.models.MetaMixin): purchase_max = purchase_cost # Also check if manual stock item pricing is included - if InvenTreeSetting.get_setting('PRICING_USE_STOCK_PRICING', True): + if get_global_setting('PRICING_USE_STOCK_PRICING', True): items = self.part.stock_items.all() # Limit to stock items updated within a certain window - days = int(InvenTreeSetting.get_setting('PRICING_STOCK_ITEM_AGE_DAYS', 0)) + days = int(get_global_setting('PRICING_STOCK_ITEM_AGE_DAYS', 0)) if days > 0: date_threshold = InvenTree.helpers.current_date() - timedelta(days=days) @@ -2789,7 +2780,7 @@ class PartPricing(common.models.MetaMixin): min_int_cost = None max_int_cost = None - if InvenTreeSetting.get_setting('PART_INTERNAL_PRICE', False): + if get_global_setting('PART_INTERNAL_PRICE', False): # Only calculate internal pricing if internal pricing is enabled for pb in self.part.internalpricebreaks.all(): cost = self.convert(pb.price) @@ -2865,7 +2856,7 @@ class PartPricing(common.models.MetaMixin): variant_min = None variant_max = None - active_only = InvenTreeSetting.get_setting('PRICING_ACTIVE_VARIANTS', False) + active_only = get_global_setting('PRICING_ACTIVE_VARIANTS', False) if self.part.is_template: variants = self.part.get_descendants(include_self=False) @@ -2907,11 +2898,11 @@ class PartPricing(common.models.MetaMixin): max_costs = [self.bom_cost_max, self.purchase_cost_max, self.internal_cost_max] - purchase_history_override = InvenTreeSetting.get_setting( + purchase_history_override = get_global_setting( 'PRICING_PURCHASE_HISTORY_OVERRIDES_SUPPLIER', False ) - if InvenTreeSetting.get_setting('PRICING_USE_SUPPLIER_PRICING', True): + if get_global_setting('PRICING_USE_SUPPLIER_PRICING', True): # Add supplier pricing data, *unless* historical pricing information should override if self.purchase_cost_min is None or not purchase_history_override: min_costs.append(self.supplier_price_min) @@ -2919,7 +2910,7 @@ class PartPricing(common.models.MetaMixin): if self.purchase_cost_max is None or not purchase_history_override: max_costs.append(self.supplier_price_max) - if InvenTreeSetting.get_setting('PRICING_USE_VARIANT_PRICING', True): + if get_global_setting('PRICING_USE_VARIANT_PRICING', True): # Include variant pricing in overall calculations min_costs.append(self.variant_cost_min) max_costs.append(self.variant_cost_max) @@ -2946,7 +2937,7 @@ class PartPricing(common.models.MetaMixin): if overall_max is None or cost > overall_max: overall_max = cost - if InvenTreeSetting.get_setting('PART_BOM_USE_INTERNAL_PRICE', False): + if get_global_setting('PART_BOM_USE_INTERNAL_PRICE', False): # Check if internal pricing should override other pricing if self.internal_cost_min is not None: overall_min = self.internal_cost_min @@ -3774,7 +3765,7 @@ class PartParameter(InvenTree.models.InvenTreeMetadataModel): super().clean() # Validate the parameter data against the template units - if InvenTreeSetting.get_setting( + if get_global_setting( 'PART_PARAMETER_ENFORCE_UNITS', True, cache=False, create=False ): if self.template.units: @@ -3916,7 +3907,7 @@ class PartCategoryParameterTemplate(InvenTree.models.InvenTreeMetadataModel): if ( self.default_value - and InvenTreeSetting.get_setting( + and get_global_setting( 'PART_PARAMETER_ENFORCE_UNITS', True, cache=False, create=False ) and self.parameter_template.units @@ -4325,9 +4316,7 @@ class BomItem( def price_range(self, internal=False): """Return the price-range for this BOM item.""" # get internal price setting - use_internal = common.models.InvenTreeSetting.get_setting( - 'PART_BOM_USE_INTERNAL_PRICE', False - ) + use_internal = get_global_setting('PART_BOM_USE_INTERNAL_PRICE', False) prange = self.sub_part.get_price_range( self.quantity, internal=use_internal and internal ) diff --git a/src/backend/InvenTree/part/settings.py b/src/backend/InvenTree/part/settings.py index e5706a87ff..f258fbcb20 100644 --- a/src/backend/InvenTree/part/settings.py +++ b/src/backend/InvenTree/part/settings.py @@ -1,38 +1,38 @@ """User-configurable settings for the Part app.""" -from common.models import InvenTreeSetting +from common.settings import get_global_setting def part_assembly_default(): """Returns the default value for the 'assembly' field of a Part object.""" - return InvenTreeSetting.get_setting('PART_ASSEMBLY') + return get_global_setting('PART_ASSEMBLY') def part_template_default(): """Returns the default value for the 'is_template' field of a Part object.""" - return InvenTreeSetting.get_setting('PART_TEMPLATE') + return get_global_setting('PART_TEMPLATE') def part_virtual_default(): """Returns the default value for the 'is_virtual' field of Part object.""" - return InvenTreeSetting.get_setting('PART_VIRTUAL') + return get_global_setting('PART_VIRTUAL') def part_component_default(): """Returns the default value for the 'component' field of a Part object.""" - return InvenTreeSetting.get_setting('PART_COMPONENT') + return get_global_setting('PART_COMPONENT') def part_purchaseable_default(): """Returns the default value for the 'purchasable' field for a Part object.""" - return InvenTreeSetting.get_setting('PART_PURCHASEABLE') + return get_global_setting('PART_PURCHASEABLE') def part_salable_default(): """Returns the default value for the 'salable' field for a Part object.""" - return InvenTreeSetting.get_setting('PART_SALABLE') + return get_global_setting('PART_SALABLE') def part_trackable_default(): """Returns the default value for the 'trackable' field for a Part object.""" - return InvenTreeSetting.get_setting('PART_TRACKABLE') + return get_global_setting('PART_TRACKABLE') diff --git a/src/backend/InvenTree/part/tasks.py b/src/backend/InvenTree/part/tasks.py index 768be1a440..ec30fdfdb0 100644 --- a/src/backend/InvenTree/part/tasks.py +++ b/src/backend/InvenTree/part/tasks.py @@ -9,15 +9,14 @@ from django.core.exceptions import ValidationError from django.utils.translation import gettext_lazy as _ import common.currency -import common.models import common.notifications -import common.settings import company.models import InvenTree.helpers import InvenTree.helpers_model import InvenTree.tasks import part.models import part.stocktake +from common.settings import get_global_setting from InvenTree.tasks import ( ScheduledTask, check_daily_holdoff, @@ -99,7 +98,7 @@ def check_missing_pricing(limit=250): pp.schedule_for_update() # Find any parts which have 'old' pricing information - days = int(common.models.InvenTreeSetting.get_setting('PRICING_UPDATE_DAYS', 30)) + days = int(get_global_setting('PRICING_UPDATE_DAYS', 30)) stale_date = datetime.now().date() - timedelta(days=days) results = part.models.PartPricing.objects.filter(updated__lte=stale_date)[:limit] @@ -146,9 +145,7 @@ def scheduled_stocktake_reports(): # First let's delete any old stocktake reports delete_n_days = int( - common.models.InvenTreeSetting.get_setting( - 'STOCKTAKE_DELETE_REPORT_DAYS', 30, cache=False - ) + get_global_setting('STOCKTAKE_DELETE_REPORT_DAYS', 30, cache=False) ) threshold = datetime.now() - timedelta(days=delete_n_days) old_reports = part.models.PartStocktakeReport.objects.filter(date__lt=threshold) @@ -158,17 +155,11 @@ def scheduled_stocktake_reports(): old_reports.delete() # Next, check if stocktake functionality is enabled - if not common.models.InvenTreeSetting.get_setting( - 'STOCKTAKE_ENABLE', False, cache=False - ): + if not get_global_setting('STOCKTAKE_ENABLE', False, cache=False): logger.info('Stocktake functionality is not enabled - exiting') return - report_n_days = int( - common.models.InvenTreeSetting.get_setting( - 'STOCKTAKE_AUTO_DAYS', 0, cache=False - ) - ) + report_n_days = int(get_global_setting('STOCKTAKE_AUTO_DAYS', 0, cache=False)) if report_n_days < 1: logger.info('Stocktake auto reports are disabled, exiting') diff --git a/src/backend/InvenTree/part/test_part.py b/src/backend/InvenTree/part/test_part.py index 9c70ea23ca..58a88c3055 100644 --- a/src/backend/InvenTree/part/test_part.py +++ b/src/backend/InvenTree/part/test_part.py @@ -18,6 +18,7 @@ from common.models import ( NotificationMessage, ) from common.notifications import UIMessageNotification, storage +from common.settings import get_global_setting, set_global_setting from InvenTree import version from InvenTree.templatetags import inventree_extras from InvenTree.unit_test import InvenTreeTestCase @@ -500,17 +501,17 @@ class PartSettingsTest(InvenTreeTestCase): def test_custom(self): """Update some of the part values and re-test.""" for val in [True, False]: - InvenTreeSetting.set_setting('PART_COMPONENT', val, self.user) - InvenTreeSetting.set_setting('PART_PURCHASEABLE', val, self.user) - InvenTreeSetting.set_setting('PART_SALABLE', val, self.user) - InvenTreeSetting.set_setting('PART_TRACKABLE', val, self.user) - InvenTreeSetting.set_setting('PART_ASSEMBLY', val, self.user) - InvenTreeSetting.set_setting('PART_TEMPLATE', val, self.user) + set_global_setting('PART_COMPONENT', val, self.user) + set_global_setting('PART_PURCHASEABLE', val, self.user) + set_global_setting('PART_SALABLE', val, self.user) + set_global_setting('PART_TRACKABLE', val, self.user) + set_global_setting('PART_ASSEMBLY', val, self.user) + set_global_setting('PART_TEMPLATE', val, self.user) - self.assertEqual(val, InvenTreeSetting.get_setting('PART_COMPONENT')) - self.assertEqual(val, InvenTreeSetting.get_setting('PART_PURCHASEABLE')) - self.assertEqual(val, InvenTreeSetting.get_setting('PART_SALABLE')) - self.assertEqual(val, InvenTreeSetting.get_setting('PART_TRACKABLE')) + self.assertEqual(val, get_global_setting('PART_COMPONENT')) + self.assertEqual(val, get_global_setting('PART_PURCHASEABLE')) + self.assertEqual(val, get_global_setting('PART_SALABLE')) + self.assertEqual(val, get_global_setting('PART_TRACKABLE')) part = self.make_part() @@ -546,7 +547,7 @@ class PartSettingsTest(InvenTreeTestCase): part.validate_unique() # Now update the settings so duplicate IPN values are *not* allowed - InvenTreeSetting.set_setting('PART_ALLOW_DUPLICATE_IPN', False, self.user) + set_global_setting('PART_ALLOW_DUPLICATE_IPN', False, self.user) with self.assertRaises(ValidationError): part = Part(name='Hello', description='A thing', IPN='IPN123', revision='C') diff --git a/src/backend/InvenTree/part/test_pricing.py b/src/backend/InvenTree/part/test_pricing.py index 2cdc4c54a6..bf1b6764cc 100644 --- a/src/backend/InvenTree/part/test_pricing.py +++ b/src/backend/InvenTree/part/test_pricing.py @@ -12,6 +12,7 @@ import company.models import order.models import part.models import stock.models +from common.settings import get_global_setting, set_global_setting from InvenTree.unit_test import InvenTreeTestCase from order.status_codes import PurchaseOrderStatus @@ -172,7 +173,7 @@ class PartPricingTests(InvenTreeTestCase): def test_internal_pricing(self): """Tests for internal price breaks.""" # Ensure internal pricing is enabled - common.models.InvenTreeSetting.set_setting('PART_INTERNAL_PRICE', True, None) + set_global_setting('PART_INTERNAL_PRICE', True, None) pricing = self.part.pricing @@ -221,9 +222,7 @@ class PartPricingTests(InvenTreeTestCase): ) # Ensure that initially, stock item pricing is disabled - common.models.InvenTreeSetting.set_setting( - 'PRICING_USE_STOCK_PRICING', False, None - ) + set_global_setting('PRICING_USE_STOCK_PRICING', False, None) pricing = p.pricing pricing.update_pricing() @@ -235,9 +234,7 @@ class PartPricingTests(InvenTreeTestCase): self.assertIsNone(pricing.overall_max) # Turn on stock pricing - common.models.InvenTreeSetting.set_setting( - 'PRICING_USE_STOCK_PRICING', True, None - ) + set_global_setting('PRICING_USE_STOCK_PRICING', True, None) pricing.update_pricing() diff --git a/src/backend/InvenTree/plugin/base/event/events.py b/src/backend/InvenTree/plugin/base/event/events.py index 33a43b75f9..ee5a814763 100644 --- a/src/backend/InvenTree/plugin/base/event/events.py +++ b/src/backend/InvenTree/plugin/base/event/events.py @@ -8,6 +8,7 @@ from django.db.models.signals import post_delete, post_save from django.dispatch.dispatcher import receiver import InvenTree.exceptions +from common.settings import get_global_setting from InvenTree.ready import canAppAccessDatabase, isImportingData from InvenTree.tasks import offload_task from plugin.registry import registry @@ -21,9 +22,7 @@ def trigger_event(event, *args, **kwargs): This event will be stored in the database, and the worker will respond to it later on. """ - from common.models import InvenTreeSetting - - if not InvenTreeSetting.get_setting('ENABLE_PLUGINS_EVENTS', False): + if not get_global_setting('ENABLE_PLUGINS_EVENTS', False): # Do nothing if plugin events are not enabled return @@ -50,12 +49,10 @@ def register_event(event, *args, **kwargs): Note: This function is processed by the background worker, as it performs multiple database access operations. """ - from common.models import InvenTreeSetting - logger.debug("Registering triggered event: '%s'", event) # Determine if there are any plugins which are interested in responding - if settings.PLUGIN_TESTING or InvenTreeSetting.get_setting('ENABLE_PLUGINS_EVENTS'): + if settings.PLUGIN_TESTING or get_global_setting('ENABLE_PLUGINS_EVENTS'): # Check if the plugin registry needs to be reloaded registry.check_reload() diff --git a/src/backend/InvenTree/plugin/base/integration/AppMixin.py b/src/backend/InvenTree/plugin/base/integration/AppMixin.py index 196b941253..6c102cf9a8 100644 --- a/src/backend/InvenTree/plugin/base/integration/AppMixin.py +++ b/src/backend/InvenTree/plugin/base/integration/AppMixin.py @@ -38,11 +38,9 @@ class AppMixin: force_reload (bool, optional): Only reload base apps. Defaults to False. full_reload (bool, optional): Reload everything - including plugin mechanism. Defaults to False. """ - from common.models import InvenTreeSetting + from common.settings import get_global_setting - if settings.PLUGIN_TESTING or InvenTreeSetting.get_setting( - 'ENABLE_PLUGINS_APP' - ): + if settings.PLUGIN_TESTING or get_global_setting('ENABLE_PLUGINS_APP'): logger.info('Registering IntegrationPlugin apps') apps_changed = False diff --git a/src/backend/InvenTree/plugin/base/integration/UrlsMixin.py b/src/backend/InvenTree/plugin/base/integration/UrlsMixin.py index 7a5972c0d8..aa526b2dab 100644 --- a/src/backend/InvenTree/plugin/base/integration/UrlsMixin.py +++ b/src/backend/InvenTree/plugin/base/integration/UrlsMixin.py @@ -5,6 +5,7 @@ import logging from django.conf import settings from django.urls import include, re_path +from common.settings import get_global_setting from plugin.urls import PLUGIN_BASE logger = logging.getLogger('inventree') @@ -36,11 +37,7 @@ class UrlsMixin: force_reload (bool, optional): Only reload base apps. Defaults to False. full_reload (bool, optional): Reload everything - including plugin mechanism. Defaults to False. """ - from common.models import InvenTreeSetting - - if settings.PLUGIN_TESTING or InvenTreeSetting.get_setting( - 'ENABLE_PLUGINS_URL' - ): + if settings.PLUGIN_TESTING or get_global_setting('ENABLE_PLUGINS_URL'): logger.info('Registering UrlsMixin Plugin') urls_changed = False # check whether an activated plugin extends UrlsMixin diff --git a/src/backend/InvenTree/plugin/registry.py b/src/backend/InvenTree/plugin/registry.py index 27b307df54..f837c64ce0 100644 --- a/src/backend/InvenTree/plugin/registry.py +++ b/src/backend/InvenTree/plugin/registry.py @@ -25,6 +25,7 @@ from django.urls import clear_url_caches, path from django.utils.text import slugify from django.utils.translation import gettext_lazy as _ +from common.settings import get_global_setting, set_global_setting from InvenTree.config import get_plugin_dir from InvenTree.ready import canAppAccessDatabase @@ -732,12 +733,10 @@ class PluginsRegistry: # region plugin registry hash calculations def update_plugin_hash(self): """When the state of the plugin registry changes, update the hash.""" - from common.models import InvenTreeSetting - self.registry_hash = self.calculate_plugin_hash() try: - old_hash = InvenTreeSetting.get_setting( + old_hash = get_global_setting( '_PLUGIN_REGISTRY_HASH', '', create=False, cache=False ) except Exception: @@ -748,7 +747,7 @@ class PluginsRegistry: logger.debug( 'Updating plugin registry hash: %s', str(self.registry_hash) ) - InvenTreeSetting.set_setting( + set_global_setting( '_PLUGIN_REGISTRY_HASH', self.registry_hash, change_user=None ) except (OperationalError, ProgrammingError): @@ -776,8 +775,6 @@ class PluginsRegistry: """ from hashlib import md5 - from common.models import InvenTreeSetting - data = md5() # Hash for all loaded plugins @@ -789,7 +786,7 @@ class PluginsRegistry: for k in self.plugin_settings_keys(): try: - val = InvenTreeSetting.get_setting(k, False, create=False) + val = get_global_setting(k, False, create=False) msg = f'{k}-{val}' data.update(msg.encode()) @@ -800,8 +797,6 @@ class PluginsRegistry: def check_reload(self): """Determine if the registry needs to be reloaded.""" - from common.models import InvenTreeSetting - if settings.TESTING: # Skip if running during unit testing return @@ -817,9 +812,7 @@ class PluginsRegistry: self.registry_hash = self.calculate_plugin_hash() try: - reg_hash = InvenTreeSetting.get_setting( - '_PLUGIN_REGISTRY_HASH', '', create=False - ) + reg_hash = get_global_setting('_PLUGIN_REGISTRY_HASH', '', create=False) except Exception as exc: logger.exception('Failed to retrieve plugin registry hash: %s', str(exc)) return diff --git a/src/backend/InvenTree/plugin/templatetags/plugin_extras.py b/src/backend/InvenTree/plugin/templatetags/plugin_extras.py index 26612b76ba..38abaa650e 100644 --- a/src/backend/InvenTree/plugin/templatetags/plugin_extras.py +++ b/src/backend/InvenTree/plugin/templatetags/plugin_extras.py @@ -4,8 +4,8 @@ from django import template from django.conf import settings as djangosettings from django.urls import reverse -from common.models import InvenTreeSetting from common.notifications import storage +from common.settings import get_global_setting from plugin.registry import registry register = template.Library() @@ -55,7 +55,7 @@ def navigation_enabled(*args, **kwargs): """Is plugin navigation enabled?""" if djangosettings.PLUGIN_TESTING: return True - return InvenTreeSetting.get_setting('ENABLE_PLUGINS_NAVIGATION') # pragma: no cover + return get_global_setting('ENABLE_PLUGINS_NAVIGATION') # pragma: no cover @register.simple_tag() diff --git a/src/backend/InvenTree/plugin/test_api.py b/src/backend/InvenTree/plugin/test_api.py index ed4ae7439b..bdef4481e3 100644 --- a/src/backend/InvenTree/plugin/test_api.py +++ b/src/backend/InvenTree/plugin/test_api.py @@ -35,7 +35,7 @@ class PluginDetailAPITest(PluginMixin, InvenTreeAPITestCase): 'packagename': 'invalid_package_name-asdads-asfd-asdf-asdf-asdf', }, expected_code=400, - max_query_time=20, + max_query_time=30, ) # valid - Pypi @@ -43,7 +43,7 @@ class PluginDetailAPITest(PluginMixin, InvenTreeAPITestCase): url, {'confirm': True, 'packagename': self.PKG_NAME}, expected_code=201, - max_query_time=20, + max_query_time=30, ).data self.assertEqual(data['success'], 'Installed plugin successfully') @@ -53,7 +53,7 @@ class PluginDetailAPITest(PluginMixin, InvenTreeAPITestCase): url, {'confirm': True, 'url': self.PKG_URL}, expected_code=201, - max_query_time=20, + max_query_time=30, ).data self.assertEqual(data['success'], 'Installed plugin successfully') @@ -63,7 +63,7 @@ class PluginDetailAPITest(PluginMixin, InvenTreeAPITestCase): url, {'confirm': True, 'url': self.PKG_URL, 'packagename': self.PKG_NAME}, expected_code=201, - max_query_time=20, + max_query_time=30, ).data self.assertEqual(data['success'], 'Installed plugin successfully') diff --git a/src/backend/InvenTree/report/helpers.py b/src/backend/InvenTree/report/helpers.py index c0720ce348..a790b02662 100644 --- a/src/backend/InvenTree/report/helpers.py +++ b/src/backend/InvenTree/report/helpers.py @@ -6,6 +6,8 @@ import logging from django.utils.translation import gettext_lazy as _ +from common.settings import get_global_setting + logger = logging.getLogger('inventree') @@ -67,10 +69,8 @@ def page_size(page_code): def report_page_size_default(): """Returns the default page size for PDF reports.""" - from common.models import InvenTreeSetting - try: - page_size = InvenTreeSetting.get_setting('REPORT_DEFAULT_PAGE_SIZE', 'A4') + page_size = get_global_setting('REPORT_DEFAULT_PAGE_SIZE', 'A4') except Exception as exc: logger.exception('Error getting default page size: %s', str(exc)) page_size = 'A4' diff --git a/src/backend/InvenTree/report/templatetags/report.py b/src/backend/InvenTree/report/templatetags/report.py index aea2105abb..92fe1408c2 100644 --- a/src/backend/InvenTree/report/templatetags/report.py +++ b/src/backend/InvenTree/report/templatetags/report.py @@ -15,7 +15,7 @@ from PIL import Image import InvenTree.helpers import InvenTree.helpers_model import report.helpers -from common.models import InvenTreeSetting +from common.settings import get_global_setting from company.models import Company from part.models import Part @@ -87,7 +87,7 @@ def asset(filename): filename = '' + filename # If in debug mode, return URL to the image, not a local file - debug_mode = InvenTreeSetting.get_setting('REPORT_DEBUG_MODE', cache=False) + debug_mode = get_global_setting('REPORT_DEBUG_MODE', cache=False) # Test if the file actually exists full_path = settings.MEDIA_ROOT.joinpath('report', 'assets', filename).resolve() @@ -132,7 +132,7 @@ def uploaded_image( filename = '' + filename # If in debug mode, return URL to the image, not a local file - debug_mode = InvenTreeSetting.get_setting('REPORT_DEBUG_MODE', cache=False) + debug_mode = get_global_setting('REPORT_DEBUG_MODE', cache=False) # Check if the file exists if not filename: @@ -300,7 +300,7 @@ def logo_image(**kwargs): - Otherwise, return a path to the default InvenTree logo """ # If in debug mode, return URL to the image, not a local file - debug_mode = InvenTreeSetting.get_setting('REPORT_DEBUG_MODE', cache=False) + debug_mode = get_global_setting('REPORT_DEBUG_MODE', cache=False) return InvenTree.helpers.getLogoImage(as_file=not debug_mode, **kwargs) diff --git a/src/backend/InvenTree/stock/models.py b/src/backend/InvenTree/stock/models.py index aa1f797f5b..5b6c6dab18 100644 --- a/src/backend/InvenTree/stock/models.py +++ b/src/backend/InvenTree/stock/models.py @@ -32,6 +32,7 @@ import InvenTree.ready import InvenTree.tasks import report.mixins import report.models +from common.settings import get_global_setting from company import models as CompanyModels from InvenTree.fields import InvenTreeModelMoneyField, InvenTreeURLField from order.status_codes import SalesOrderStatusGroups @@ -234,9 +235,7 @@ class StockLocation( if user.is_superuser: return True - ownership_enabled = common.models.InvenTreeSetting.get_setting( - 'STOCK_OWNERSHIP_CONTROL' - ) + ownership_enabled = get_global_setting('STOCK_OWNERSHIP_CONTROL') if not ownership_enabled: # Location ownership function is not enabled, so return True @@ -310,9 +309,7 @@ def default_delete_on_deplete(): Now, there is a user-configurable setting to govern default behaviour. """ try: - return common.models.InvenTreeSetting.get_setting( - 'STOCK_DELETE_DEPLETED_DEFAULT', True - ) + return get_global_setting('STOCK_DELETE_DEPLETED_DEFAULT', True) except (IntegrityError, OperationalError): # Revert to original default behaviour return True @@ -996,9 +993,7 @@ class StockItem( if user.is_superuser: return True - ownership_enabled = common.models.InvenTreeSetting.get_setting( - 'STOCK_OWNERSHIP_CONTROL' - ) + ownership_enabled = get_global_setting('STOCK_OWNERSHIP_CONTROL') if not ownership_enabled: # Location ownership function is not enabled, so return True @@ -1027,7 +1022,7 @@ class StockItem( today = InvenTree.helpers.current_date() - stale_days = common.models.InvenTreeSetting.get_setting('STOCK_STALE_DAYS') + stale_days = get_global_setting('STOCK_STALE_DAYS') if stale_days <= 0: return False @@ -1897,7 +1892,7 @@ class StockItem( except InvalidOperation: return False - allow_out_of_stock_transfer = common.models.InvenTreeSetting.get_setting( + allow_out_of_stock_transfer = get_global_setting( 'STOCK_ALLOW_OUT_OF_STOCK_TRANSFER', backup_value=False, cache=False ) diff --git a/src/backend/InvenTree/stock/serializers.py b/src/backend/InvenTree/stock/serializers.py index bf8ab2e0ac..3cfd845803 100644 --- a/src/backend/InvenTree/stock/serializers.py +++ b/src/backend/InvenTree/stock/serializers.py @@ -1,7 +1,7 @@ """JSON serializers for Stock app.""" import logging -from datetime import datetime, timedelta +from datetime import timedelta from decimal import Decimal from django.core.exceptions import ValidationError as DjangoValidationError @@ -16,7 +16,6 @@ from sql_util.utils import SubqueryCount, SubquerySum from taggit.serializers import TagListSerializerField import build.models -import common.models import company.models import InvenTree.helpers import InvenTree.serializers @@ -25,6 +24,7 @@ import part.filters as part_filters import part.models as part_models import stock.filters import stock.status_codes +from common.settings import get_global_setting from company.serializers import SupplierPartSerializer from InvenTree.serializers import InvenTreeCurrencySerializer, InvenTreeDecimalField from part.serializers import PartBriefSerializer, PartTestTemplateSerializer @@ -476,7 +476,7 @@ class StockItemSerializer(InvenTree.serializers.InvenTreeTagModelSerializer): ) # Add flag to indicate if the StockItem is stale - stale_days = common.models.InvenTreeSetting.get_setting('STOCK_STALE_DAYS') + stale_days = get_global_setting('STOCK_STALE_DAYS') stale_date = InvenTree.helpers.current_date() + timedelta(days=stale_days) stale_filter = ( StockItem.IN_STOCK_FILTER @@ -730,7 +730,7 @@ class InstallStockItemSerializer(serializers.Serializer): parent_item = self.context['item'] parent_part = parent_item.part - if common.models.InvenTreeSetting.get_setting( + if get_global_setting( 'STOCK_ENFORCE_BOM_INSTALLATION', backup_value=True, cache=False ): # Check if the selected part is in the Bill of Materials of the parent item diff --git a/src/backend/InvenTree/stock/views.py b/src/backend/InvenTree/stock/views.py index 3fb10d968f..57140a9952 100644 --- a/src/backend/InvenTree/stock/views.py +++ b/src/backend/InvenTree/stock/views.py @@ -4,7 +4,7 @@ from django.http import HttpResponseRedirect from django.urls import reverse from django.views.generic import DetailView, ListView -import common.settings +from common.settings import get_global_setting from InvenTree.views import InvenTreeRoleMixin from plugin.views import InvenTreePluginViewMixin @@ -34,9 +34,7 @@ class StockIndex(InvenTreeRoleMixin, InvenTreePluginViewMixin, ListView): # No 'ownership' checks are necessary for the top-level StockLocation view context['user_owns_location'] = True context['location_owner'] = None - context['ownership_enabled'] = common.models.InvenTreeSetting.get_setting( - 'STOCK_OWNERSHIP_CONTROL' - ) + context['ownership_enabled'] = get_global_setting('STOCK_OWNERSHIP_CONTROL') return context @@ -53,9 +51,7 @@ class StockLocationDetail(InvenTreeRoleMixin, InvenTreePluginViewMixin, DetailVi """Extend template context.""" context = super().get_context_data(**kwargs) - context['ownership_enabled'] = common.models.InvenTreeSetting.get_setting( - 'STOCK_OWNERSHIP_CONTROL' - ) + context['ownership_enabled'] = get_global_setting('STOCK_OWNERSHIP_CONTROL') context['location_owner'] = context['location'].get_location_owner() context['user_owns_location'] = context['location'].check_ownership( self.request.user @@ -80,9 +76,7 @@ class StockItemDetail(InvenTreeRoleMixin, InvenTreePluginViewMixin, DetailView): data['previous'] = self.object.get_next_serialized_item(reverse=True) data['next'] = self.object.get_next_serialized_item() - data['ownership_enabled'] = common.models.InvenTreeSetting.get_setting( - 'STOCK_OWNERSHIP_CONTROL' - ) + data['ownership_enabled'] = get_global_setting('STOCK_OWNERSHIP_CONTROL') data['item_owner'] = self.object.get_item_owner() data['user_owns_item'] = self.object.check_ownership(self.request.user) diff --git a/src/backend/InvenTree/users/models.py b/src/backend/InvenTree/users/models.py index a544bdec10..0a175b3c7a 100644 --- a/src/backend/InvenTree/users/models.py +++ b/src/backend/InvenTree/users/models.py @@ -21,9 +21,9 @@ from django.utils.translation import gettext_lazy as _ from rest_framework.authtoken.models import Token as AuthToken -import common.models as common_models import InvenTree.helpers import InvenTree.models +from common.settings import get_global_setting from InvenTree.ready import canAppAccessDatabase, isImportingData logger = logging.getLogger('inventree') @@ -34,7 +34,7 @@ logger = logging.getLogger('inventree') # string representation of a user def user_model_str(self): """Function to override the default Django User __str__.""" - if common_models.InvenTreeSetting.get_setting('DISPLAY_FULL_NAMES', cache=True): + if get_global_setting('DISPLAY_FULL_NAMES', cache=True): if self.first_name or self.last_name: return f'{self.first_name} {self.last_name}' return self.username @@ -816,11 +816,8 @@ class Owner(models.Model): def __str__(self): """Defines the owner string representation.""" - if ( - self.owner_type.name == 'user' - and common_models.InvenTreeSetting.get_setting( - 'DISPLAY_FULL_NAMES', cache=True - ) + if self.owner_type.name == 'user' and get_global_setting( + 'DISPLAY_FULL_NAMES', cache=True ): display_name = self.owner.get_full_name() else: @@ -829,11 +826,8 @@ class Owner(models.Model): def name(self): """Return the 'name' of this owner.""" - if ( - self.owner_type.name == 'user' - and common_models.InvenTreeSetting.get_setting( - 'DISPLAY_FULL_NAMES', cache=True - ) + if self.owner_type.name == 'user' and get_global_setting( + 'DISPLAY_FULL_NAMES', cache=True ): return self.owner.get_full_name() or str(self.owner) return str(self.owner) From 960c27b1421d5abf9d85e8cdb30f058f72047e45 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Fri, 14 Jun 2024 00:25:58 +0200 Subject: [PATCH 16/59] fix: Add installer check for python version (#7440) * fix: Add installer check for python version Closes #7439 Closes #7437 Closes #7377 * fix error message * Add color --- contrib/packager.io/functions.sh | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/contrib/packager.io/functions.sh b/contrib/packager.io/functions.sh index bb236be77d..9149754a66 100755 --- a/contrib/packager.io/functions.sh +++ b/contrib/packager.io/functions.sh @@ -2,6 +2,8 @@ # # packager.io postinstall script functions # +Color_Off='\033[0m' +On_Red='\033[41m' function detect_docker() { if [ -n "$(grep docker Date: Fri, 14 Jun 2024 19:52:19 +1000 Subject: [PATCH 17/59] New Crowdin updates (#7433) * updated translation base * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .../InvenTree/locale/bg/LC_MESSAGES/django.po | 67 +- .../InvenTree/locale/cs/LC_MESSAGES/django.po | 75 +- .../InvenTree/locale/da/LC_MESSAGES/django.po | 71 +- .../InvenTree/locale/de/LC_MESSAGES/django.po | 83 +- .../InvenTree/locale/el/LC_MESSAGES/django.po | 71 +- .../InvenTree/locale/en/LC_MESSAGES/django.po | 64 +- .../InvenTree/locale/es/LC_MESSAGES/django.po | 67 +- .../locale/es_MX/LC_MESSAGES/django.po | 64 +- .../InvenTree/locale/fa/LC_MESSAGES/django.po | 67 +- .../InvenTree/locale/fi/LC_MESSAGES/django.po | 79 +- .../InvenTree/locale/fr/LC_MESSAGES/django.po | 79 +- .../InvenTree/locale/he/LC_MESSAGES/django.po | 67 +- .../InvenTree/locale/hi/LC_MESSAGES/django.po | 67 +- .../InvenTree/locale/hu/LC_MESSAGES/django.po | 86 +- .../InvenTree/locale/id/LC_MESSAGES/django.po | 71 +- .../InvenTree/locale/it/LC_MESSAGES/django.po | 83 +- .../InvenTree/locale/ja/LC_MESSAGES/django.po | 75 +- .../InvenTree/locale/ko/LC_MESSAGES/django.po | 67 +- .../InvenTree/locale/lv/LC_MESSAGES/django.po | 67 +- .../InvenTree/locale/nl/LC_MESSAGES/django.po | 79 +- .../InvenTree/locale/no/LC_MESSAGES/django.po | 83 +- .../InvenTree/locale/pl/LC_MESSAGES/django.po | 83 +- .../InvenTree/locale/pt/LC_MESSAGES/django.po | 67 +- .../InvenTree/locale/ro/LC_MESSAGES/django.po | 28 +- .../InvenTree/locale/ru/LC_MESSAGES/django.po | 79 +- .../InvenTree/locale/sk/LC_MESSAGES/django.po | 67 +- .../InvenTree/locale/sl/LC_MESSAGES/django.po | 71 +- .../InvenTree/locale/sr/LC_MESSAGES/django.po | 71 +- .../InvenTree/locale/sv/LC_MESSAGES/django.po | 75 +- .../InvenTree/locale/th/LC_MESSAGES/django.po | 67 +- .../InvenTree/locale/tr/LC_MESSAGES/django.po | 75 +- .../InvenTree/locale/uk/LC_MESSAGES/django.po | 67 +- .../InvenTree/locale/vi/LC_MESSAGES/django.po | 83 +- .../InvenTree/locale/zh/LC_MESSAGES/django.po | 67 +- .../locale/zh_Hans/LC_MESSAGES/django.po | 64 +- src/frontend/src/locales/bg/messages.po | 24 +- src/frontend/src/locales/cs/messages.po | 24 +- src/frontend/src/locales/da/messages.po | 24 +- src/frontend/src/locales/de/messages.po | 24 +- src/frontend/src/locales/el/messages.po | 24 +- src/frontend/src/locales/en/messages.po | 22 +- src/frontend/src/locales/es-mx/messages.po | 22 +- src/frontend/src/locales/es/messages.po | 304 +- src/frontend/src/locales/fa/messages.po | 24 +- src/frontend/src/locales/fi/messages.po | 24 +- src/frontend/src/locales/fr/messages.po | 24 +- src/frontend/src/locales/he/messages.po | 24 +- src/frontend/src/locales/hi/messages.po | 24 +- src/frontend/src/locales/hu/messages.po | 24 +- src/frontend/src/locales/id/messages.po | 24 +- src/frontend/src/locales/it/messages.po | 24 +- src/frontend/src/locales/ja/messages.po | 24 +- src/frontend/src/locales/ko/messages.po | 24 +- src/frontend/src/locales/lv/messages.po | 24 +- src/frontend/src/locales/nl/messages.po | 24 +- src/frontend/src/locales/no/messages.po | 24 +- src/frontend/src/locales/pl/messages.po | 24 +- .../src/locales/pseudo-LOCALE/messages.po | 22 +- src/frontend/src/locales/pt-br/messages.po | 22 +- src/frontend/src/locales/pt/messages.po | 1353 ++-- src/frontend/src/locales/ro/messages.po | 6871 +++++++++++++++++ src/frontend/src/locales/ru/messages.po | 24 +- src/frontend/src/locales/sk/messages.po | 24 +- src/frontend/src/locales/sl/messages.po | 24 +- src/frontend/src/locales/sr/messages.po | 24 +- src/frontend/src/locales/sv/messages.po | 40 +- src/frontend/src/locales/th/messages.po | 24 +- src/frontend/src/locales/tr/messages.po | 24 +- src/frontend/src/locales/uk/messages.po | 24 +- src/frontend/src/locales/vi/messages.po | 24 +- src/frontend/src/locales/zh-hans/messages.po | 22 +- src/frontend/src/locales/zh-hant/messages.po | 22 +- src/frontend/src/locales/zh/messages.po | 24 +- 73 files changed, 9478 insertions(+), 2390 deletions(-) create mode 100644 src/frontend/src/locales/ro/messages.po diff --git a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po index 2832af3253..b2c3121cc6 100644 --- a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:39\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:03\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Language: bg_BG\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "Португалски (Бразилия)" #: InvenTree/locales.py:41 +msgid "Romanian" +msgstr "" + +#: InvenTree/locales.py:42 msgid "Russian" msgstr "Руски" -#: InvenTree/locales.py:42 +#: InvenTree/locales.py:43 msgid "Slovak" msgstr "" -#: InvenTree/locales.py:43 +#: InvenTree/locales.py:44 msgid "Slovenian" msgstr "Словенски" -#: InvenTree/locales.py:44 +#: InvenTree/locales.py:45 msgid "Serbian" msgstr "" -#: InvenTree/locales.py:45 +#: InvenTree/locales.py:46 msgid "Swedish" msgstr "Шведски" -#: InvenTree/locales.py:46 +#: InvenTree/locales.py:47 msgid "Thai" msgstr "Тайландски" -#: InvenTree/locales.py:47 +#: InvenTree/locales.py:48 msgid "Turkish" msgstr "Турски" -#: InvenTree/locales.py:48 +#: InvenTree/locales.py:49 msgid "Ukrainian" msgstr "" -#: InvenTree/locales.py:49 +#: InvenTree/locales.py:50 msgid "Vietnamese" msgstr "Виетнамски" -#: InvenTree/locales.py:50 +#: InvenTree/locales.py:51 msgid "Chinese (Simplified)" msgstr "Китайски (опростен)" -#: InvenTree/locales.py:51 +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "Китайски (традиционен)" @@ -444,7 +448,7 @@ msgstr "" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -8152,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "" @@ -8340,11 +8344,11 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -14386,3 +14390,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po index 86dd4bb5a1..999bdb01d1 100644 --- a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-06 13:52\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:03\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "Portugalština (Brazilská)" #: InvenTree/locales.py:41 +msgid "Romanian" +msgstr "" + +#: InvenTree/locales.py:42 msgid "Russian" msgstr "Ruština" -#: InvenTree/locales.py:42 +#: InvenTree/locales.py:43 msgid "Slovak" msgstr "Slovenština" -#: InvenTree/locales.py:43 +#: InvenTree/locales.py:44 msgid "Slovenian" msgstr "Slovinština" -#: InvenTree/locales.py:44 +#: InvenTree/locales.py:45 msgid "Serbian" msgstr "Srbština" -#: InvenTree/locales.py:45 +#: InvenTree/locales.py:46 msgid "Swedish" msgstr "Švédština" -#: InvenTree/locales.py:46 +#: InvenTree/locales.py:47 msgid "Thai" msgstr "Thajština" -#: InvenTree/locales.py:47 +#: InvenTree/locales.py:48 msgid "Turkish" msgstr "Turečtina" -#: InvenTree/locales.py:48 +#: InvenTree/locales.py:49 msgid "Ukrainian" msgstr "Ukrajinština" -#: InvenTree/locales.py:49 +#: InvenTree/locales.py:50 msgid "Vietnamese" msgstr "Vietnamština" -#: InvenTree/locales.py:50 +#: InvenTree/locales.py:51 msgid "Chinese (Simplified)" msgstr "Čínština (zjednodušená)" -#: InvenTree/locales.py:51 +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "Čínština (tradiční)" @@ -444,7 +448,7 @@ msgstr "Komentář k souboru" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "Neplatný výběr" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -8152,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "" @@ -8340,11 +8344,11 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -8710,10 +8714,8 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 -#, fuzzy -#| msgid "Supplier Parts" msgid "Supplier Part SKU" -msgstr "Dodavatel dílů" +msgstr "" #: stock/admin.py:190 msgid "Supplier ID" @@ -9077,10 +9079,8 @@ msgid "Attachment must be uploaded for this test" msgstr "" #: stock/models.py:2404 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid value for this test" -msgstr "Neplatná hodnota překročení" +msgstr "" #: stock/models.py:2428 msgid "Test result" @@ -14390,3 +14390,4 @@ msgstr "Oprávnění k úpravě položek" #: users/models.py:413 msgid "Permission to delete items" msgstr "Oprávnění k odstranění položek" + diff --git a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po index 287c229d8b..5861e6dd4f 100644 --- a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:39\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:03\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "Portugisisk (Brasilien)" #: InvenTree/locales.py:41 +msgid "Romanian" +msgstr "" + +#: InvenTree/locales.py:42 msgid "Russian" msgstr "Russisk" -#: InvenTree/locales.py:42 +#: InvenTree/locales.py:43 msgid "Slovak" msgstr "" -#: InvenTree/locales.py:43 +#: InvenTree/locales.py:44 msgid "Slovenian" msgstr "Slovensk" -#: InvenTree/locales.py:44 +#: InvenTree/locales.py:45 msgid "Serbian" msgstr "Serbisk" -#: InvenTree/locales.py:45 +#: InvenTree/locales.py:46 msgid "Swedish" msgstr "Svensk" -#: InvenTree/locales.py:46 +#: InvenTree/locales.py:47 msgid "Thai" msgstr "Thailandsk" -#: InvenTree/locales.py:47 +#: InvenTree/locales.py:48 msgid "Turkish" msgstr "Tyrkisk" -#: InvenTree/locales.py:48 +#: InvenTree/locales.py:49 msgid "Ukrainian" msgstr "" -#: InvenTree/locales.py:49 +#: InvenTree/locales.py:50 msgid "Vietnamese" msgstr "Vietnamesisk" -#: InvenTree/locales.py:50 +#: InvenTree/locales.py:51 msgid "Chinese (Simplified)" msgstr "Kinesisk (forenklet)" -#: InvenTree/locales.py:51 +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "Kinesisk (traditionelt)" @@ -444,7 +448,7 @@ msgstr "Fil kommentar" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "Ugyldigt valg" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -8152,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "" @@ -8340,11 +8344,11 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9075,10 +9079,8 @@ msgid "Attachment must be uploaded for this test" msgstr "" #: stock/models.py:2404 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid value for this test" -msgstr "Ugyldig værdi for overskud" +msgstr "" #: stock/models.py:2428 msgid "Test result" @@ -14388,3 +14390,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po index 1b60bc1bb2..741548a2af 100644 --- a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:39\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "Portugiesisch (Brasilien)" #: InvenTree/locales.py:41 +msgid "Romanian" +msgstr "" + +#: InvenTree/locales.py:42 msgid "Russian" msgstr "Russisch" -#: InvenTree/locales.py:42 +#: InvenTree/locales.py:43 msgid "Slovak" msgstr "Slowakisch" -#: InvenTree/locales.py:43 +#: InvenTree/locales.py:44 msgid "Slovenian" msgstr "Slowenisch" -#: InvenTree/locales.py:44 +#: InvenTree/locales.py:45 msgid "Serbian" msgstr "Serbisch" -#: InvenTree/locales.py:45 +#: InvenTree/locales.py:46 msgid "Swedish" msgstr "Schwedisch" -#: InvenTree/locales.py:46 +#: InvenTree/locales.py:47 msgid "Thai" msgstr "Thailändisch" -#: InvenTree/locales.py:47 +#: InvenTree/locales.py:48 msgid "Turkish" msgstr "Türkisch" -#: InvenTree/locales.py:48 +#: InvenTree/locales.py:49 msgid "Ukrainian" msgstr "Ukrainisch" -#: InvenTree/locales.py:49 +#: InvenTree/locales.py:50 msgid "Vietnamese" msgstr "Vietnamesisch" -#: InvenTree/locales.py:50 +#: InvenTree/locales.py:51 msgid "Chinese (Simplified)" msgstr "Chinesisch (Vereinfacht)" -#: InvenTree/locales.py:51 +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "Chinesisch (Traditionell)" @@ -444,7 +448,7 @@ msgstr "Datei-Kommentar" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "Ungültige Auswahl" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "Name für diesen Webhook" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -6510,10 +6514,8 @@ msgid "Choices" msgstr "Auswahlmöglichkeiten" #: part/models.py:3575 -#, fuzzy -#| msgid "Valid choices for this parameter (comma-separated)" msgid "Valid choices for this test (comma-separated)" -msgstr "Gültige Optionen für diesen Parameter (durch Kommas getrennt)" +msgstr "" #: part/models.py:3629 msgid "Checkbox parameters cannot have units" @@ -8154,62 +8156,62 @@ msgstr "Plugin kann nicht deinstalliert werden, da es momentan aktiv ist" msgid "Uninstalled plugin successfully" msgstr "Plugin erfolgreich deinstallieren" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "Plugin-Konfiguration" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "Plugin-Konfigurationen" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "Schlüssel" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "Schlüssel des Plugins" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "Name des Plugins" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "Paket-Name" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "Name des installierten Paketes, wenn das Plugin über PIP installiert wurde" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "Ist das Plugin aktiv" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "Installiert" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "Beispiel-Plugin" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "Integriertes Plugin" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "Paket-Plugin" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "Plugin" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "Methode" @@ -8342,11 +8344,11 @@ msgstr "Plugin aktivieren" msgid "Activate this plugin" msgstr "Dieses Plugin aktivieren" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "Konfiguration löschen" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "Plugin-Konfiguration aus der Datenbank löschen" @@ -8712,10 +8714,8 @@ msgid "Supplier Part ID" msgstr "Zuliefererteil-ID" #: stock/admin.py:185 -#, fuzzy -#| msgid "Supplier Part" msgid "Supplier Part SKU" -msgstr "Zuliefererteil" +msgstr "" #: stock/admin.py:190 msgid "Supplier ID" @@ -9079,10 +9079,8 @@ msgid "Attachment must be uploaded for this test" msgstr "Anhang muss für diesen Test hochgeladen werden" #: stock/models.py:2404 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid value for this test" -msgstr "Ungültiger Wert für Ausschuss" +msgstr "" #: stock/models.py:2428 msgid "Test result" @@ -10938,10 +10936,8 @@ msgid "Scan the QR code below with a token generator of your choice (for instanc msgstr "Scannen Sie den QR-Code unten mit einem Token-Generator Ihrer Wahl (z.B. Google Authenticator)." #: templates/allauth_2fa/setup.html:20 -#, fuzzy -#| msgid "Secret" msgid "Secret: " -msgstr "Geheimnis" +msgstr "" #: templates/allauth_2fa/setup.html:24 msgid "Step 2" @@ -14394,3 +14390,4 @@ msgstr "Berechtigungen Einträge zu ändern" #: users/models.py:413 msgid "Permission to delete items" msgstr "Berechtigung Einträge zu löschen" + diff --git a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po index 7cb2e3031d..1f11af3521 100644 --- a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:39\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "Πορτογαλικά (Βραζιλίας)" #: InvenTree/locales.py:41 +msgid "Romanian" +msgstr "" + +#: InvenTree/locales.py:42 msgid "Russian" msgstr "Ρωσικά" -#: InvenTree/locales.py:42 +#: InvenTree/locales.py:43 msgid "Slovak" msgstr "Σλοβάκικα" -#: InvenTree/locales.py:43 +#: InvenTree/locales.py:44 msgid "Slovenian" msgstr "Σλοβενικά" -#: InvenTree/locales.py:44 +#: InvenTree/locales.py:45 msgid "Serbian" msgstr "Σερβικά" -#: InvenTree/locales.py:45 +#: InvenTree/locales.py:46 msgid "Swedish" msgstr "Σουηδικά" -#: InvenTree/locales.py:46 +#: InvenTree/locales.py:47 msgid "Thai" msgstr "Ταϊλανδέζικα" -#: InvenTree/locales.py:47 +#: InvenTree/locales.py:48 msgid "Turkish" msgstr "Τούρκικα" -#: InvenTree/locales.py:48 +#: InvenTree/locales.py:49 msgid "Ukrainian" msgstr "" -#: InvenTree/locales.py:49 +#: InvenTree/locales.py:50 msgid "Vietnamese" msgstr "Βιετναμέζικα" -#: InvenTree/locales.py:50 +#: InvenTree/locales.py:51 msgid "Chinese (Simplified)" msgstr "Κινέζικα (απλοποιημένα)" -#: InvenTree/locales.py:51 +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "Κινέζικα (Παραδοσιακά)" @@ -444,7 +448,7 @@ msgstr "Σχόλιο αρχείου" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "Μη έγκυρη επιλογή" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -8152,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "" @@ -8340,11 +8344,11 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9075,10 +9079,8 @@ msgid "Attachment must be uploaded for this test" msgstr "" #: stock/models.py:2404 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid value for this test" -msgstr "Μη έγκυρη τιμή για υπέρβαση" +msgstr "" #: stock/models.py:2428 msgid "Test result" @@ -14388,3 +14390,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po index 09ee8c780c..a6fd5f31f2 100644 --- a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" +"POT-Creation-Date: 2024-06-11 14:05+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -297,46 +297,50 @@ msgid "Portuguese (Brazilian)" msgstr "" #: InvenTree/locales.py:41 -msgid "Russian" +msgid "Romanian" msgstr "" #: InvenTree/locales.py:42 -msgid "Slovak" +msgid "Russian" msgstr "" #: InvenTree/locales.py:43 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: InvenTree/locales.py:44 -msgid "Serbian" +msgid "Slovenian" msgstr "" #: InvenTree/locales.py:45 -msgid "Swedish" +msgid "Serbian" msgstr "" #: InvenTree/locales.py:46 -msgid "Thai" +msgid "Swedish" msgstr "" #: InvenTree/locales.py:47 -msgid "Turkish" +msgid "Thai" msgstr "" #: InvenTree/locales.py:48 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: InvenTree/locales.py:49 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: InvenTree/locales.py:50 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: InvenTree/locales.py:51 +msgid "Chinese (Simplified)" +msgstr "" + +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "" @@ -445,7 +449,7 @@ msgstr "" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -490,7 +494,7 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3464,7 +3468,7 @@ msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -8153,62 +8157,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "" @@ -8341,11 +8345,11 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" diff --git a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po index 112cd6e96d..b08c3feea7 100644 --- a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:40\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:05\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Language: es_MX\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "Portugués (Brasileño)" #: InvenTree/locales.py:41 +msgid "Romanian" +msgstr "" + +#: InvenTree/locales.py:42 msgid "Russian" msgstr "Ruso" -#: InvenTree/locales.py:42 +#: InvenTree/locales.py:43 msgid "Slovak" msgstr "Eslovaco" -#: InvenTree/locales.py:43 +#: InvenTree/locales.py:44 msgid "Slovenian" msgstr "Esloveno" -#: InvenTree/locales.py:44 +#: InvenTree/locales.py:45 msgid "Serbian" msgstr "Serbio" -#: InvenTree/locales.py:45 +#: InvenTree/locales.py:46 msgid "Swedish" msgstr "Sueco" -#: InvenTree/locales.py:46 +#: InvenTree/locales.py:47 msgid "Thai" msgstr "Tailandés" -#: InvenTree/locales.py:47 +#: InvenTree/locales.py:48 msgid "Turkish" msgstr "Turco" -#: InvenTree/locales.py:48 +#: InvenTree/locales.py:49 msgid "Ukrainian" msgstr "Ucraniano" -#: InvenTree/locales.py:49 +#: InvenTree/locales.py:50 msgid "Vietnamese" msgstr "Vietnamita" -#: InvenTree/locales.py:50 +#: InvenTree/locales.py:51 msgid "Chinese (Simplified)" msgstr "Chino (Simplificado)" -#: InvenTree/locales.py:51 +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "Chino (Tradicional)" @@ -444,7 +448,7 @@ msgstr "" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "Selección no válida" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -8152,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "" @@ -8340,11 +8344,11 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -14386,3 +14390,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po index 09ee8c780c..a6fd5f31f2 100644 --- a/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" +"POT-Creation-Date: 2024-06-11 14:05+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -297,46 +297,50 @@ msgid "Portuguese (Brazilian)" msgstr "" #: InvenTree/locales.py:41 -msgid "Russian" +msgid "Romanian" msgstr "" #: InvenTree/locales.py:42 -msgid "Slovak" +msgid "Russian" msgstr "" #: InvenTree/locales.py:43 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: InvenTree/locales.py:44 -msgid "Serbian" +msgid "Slovenian" msgstr "" #: InvenTree/locales.py:45 -msgid "Swedish" +msgid "Serbian" msgstr "" #: InvenTree/locales.py:46 -msgid "Thai" +msgid "Swedish" msgstr "" #: InvenTree/locales.py:47 -msgid "Turkish" +msgid "Thai" msgstr "" #: InvenTree/locales.py:48 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: InvenTree/locales.py:49 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: InvenTree/locales.py:50 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: InvenTree/locales.py:51 +msgid "Chinese (Simplified)" +msgstr "" + +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "" @@ -445,7 +449,7 @@ msgstr "" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -490,7 +494,7 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3464,7 +3468,7 @@ msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -8153,62 +8157,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "" @@ -8341,11 +8345,11 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" diff --git a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po index 069b433b8b..f33b735c76 100644 --- a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:40\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:05\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "" #: InvenTree/locales.py:41 -msgid "Russian" +msgid "Romanian" msgstr "" #: InvenTree/locales.py:42 -msgid "Slovak" +msgid "Russian" msgstr "" #: InvenTree/locales.py:43 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: InvenTree/locales.py:44 -msgid "Serbian" +msgid "Slovenian" msgstr "" #: InvenTree/locales.py:45 -msgid "Swedish" +msgid "Serbian" msgstr "" #: InvenTree/locales.py:46 -msgid "Thai" +msgid "Swedish" msgstr "" #: InvenTree/locales.py:47 -msgid "Turkish" +msgid "Thai" msgstr "" #: InvenTree/locales.py:48 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: InvenTree/locales.py:49 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: InvenTree/locales.py:50 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: InvenTree/locales.py:51 +msgid "Chinese (Simplified)" +msgstr "" + +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "" @@ -444,7 +448,7 @@ msgstr "" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -8152,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "" @@ -8340,11 +8344,11 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -14386,3 +14390,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po index 49059e613e..bfa729e6d3 100644 --- a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:39\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "portugali (Brasilia)" #: InvenTree/locales.py:41 +msgid "Romanian" +msgstr "" + +#: InvenTree/locales.py:42 msgid "Russian" msgstr "venäjä" -#: InvenTree/locales.py:42 +#: InvenTree/locales.py:43 msgid "Slovak" msgstr "" -#: InvenTree/locales.py:43 +#: InvenTree/locales.py:44 msgid "Slovenian" msgstr "slovenia" -#: InvenTree/locales.py:44 +#: InvenTree/locales.py:45 msgid "Serbian" msgstr "" -#: InvenTree/locales.py:45 +#: InvenTree/locales.py:46 msgid "Swedish" msgstr "ruotsi" -#: InvenTree/locales.py:46 +#: InvenTree/locales.py:47 msgid "Thai" msgstr "thai" -#: InvenTree/locales.py:47 +#: InvenTree/locales.py:48 msgid "Turkish" msgstr "turkki" -#: InvenTree/locales.py:48 +#: InvenTree/locales.py:49 msgid "Ukrainian" msgstr "" -#: InvenTree/locales.py:49 +#: InvenTree/locales.py:50 msgid "Vietnamese" msgstr "vietnam" -#: InvenTree/locales.py:50 +#: InvenTree/locales.py:51 msgid "Chinese (Simplified)" msgstr "" -#: InvenTree/locales.py:51 +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "" @@ -444,7 +448,7 @@ msgstr "Tiedoston kommentti" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "Virheellinen valinta" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -8152,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "Avain" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "" @@ -8340,11 +8344,11 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -8710,10 +8714,8 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 -#, fuzzy -#| msgid "Supplier" msgid "Supplier Part SKU" -msgstr "Toimittaja" +msgstr "" #: stock/admin.py:190 msgid "Supplier ID" @@ -9077,10 +9079,8 @@ msgid "Attachment must be uploaded for this test" msgstr "" #: stock/models.py:2404 -#, fuzzy -#| msgid "Invalid value" msgid "Invalid value for this test" -msgstr "Virheellinen arvo" +msgstr "" #: stock/models.py:2428 msgid "Test result" @@ -10936,10 +10936,8 @@ msgid "Scan the QR code below with a token generator of your choice (for instanc msgstr "" #: templates/allauth_2fa/setup.html:20 -#, fuzzy -#| msgid "Secret" msgid "Secret: " -msgstr "Salaisuus" +msgstr "" #: templates/allauth_2fa/setup.html:24 msgid "Step 2" @@ -14392,3 +14390,4 @@ msgstr "Oikeus muokata kohteita" #: users/models.py:413 msgid "Permission to delete items" msgstr "Oikeus poistaa kohteita" + diff --git a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po index 2406fd9ee5..f31443fa27 100644 --- a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:38\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:03\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "Portugais (Brésilien)" #: InvenTree/locales.py:41 +msgid "Romanian" +msgstr "" + +#: InvenTree/locales.py:42 msgid "Russian" msgstr "Russe" -#: InvenTree/locales.py:42 +#: InvenTree/locales.py:43 msgid "Slovak" msgstr "Slovaque" -#: InvenTree/locales.py:43 +#: InvenTree/locales.py:44 msgid "Slovenian" msgstr "Slovénien" -#: InvenTree/locales.py:44 +#: InvenTree/locales.py:45 msgid "Serbian" msgstr "Serbe" -#: InvenTree/locales.py:45 +#: InvenTree/locales.py:46 msgid "Swedish" msgstr "Suédois" -#: InvenTree/locales.py:46 +#: InvenTree/locales.py:47 msgid "Thai" msgstr "Thaïlandais" -#: InvenTree/locales.py:47 +#: InvenTree/locales.py:48 msgid "Turkish" msgstr "Turc" -#: InvenTree/locales.py:48 +#: InvenTree/locales.py:49 msgid "Ukrainian" msgstr "Ukrainien" -#: InvenTree/locales.py:49 +#: InvenTree/locales.py:50 msgid "Vietnamese" msgstr "Vietnamien" -#: InvenTree/locales.py:50 +#: InvenTree/locales.py:51 msgid "Chinese (Simplified)" msgstr "Chinois (Simplifié)" -#: InvenTree/locales.py:51 +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "Chinois (Traditionnel)" @@ -444,7 +448,7 @@ msgstr "Commentaire du fichier" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "Choix invalide" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -8152,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "Non du Plugin" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "Extension Intégrée" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "Extension" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "" @@ -8340,11 +8344,11 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -8710,10 +8714,8 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 -#, fuzzy -#| msgid "Supplier Part" msgid "Supplier Part SKU" -msgstr "Pièce fournisseur" +msgstr "" #: stock/admin.py:190 msgid "Supplier ID" @@ -9077,10 +9079,8 @@ msgid "Attachment must be uploaded for this test" msgstr "" #: stock/models.py:2404 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid value for this test" -msgstr "Valeur invalide pour le dépassement" +msgstr "" #: stock/models.py:2428 msgid "Test result" @@ -10936,10 +10936,8 @@ msgid "Scan the QR code below with a token generator of your choice (for instanc msgstr "Scanner le QR code ci-dessous avec un générateur de token de votre choix (par exemple Google Authenticator)." #: templates/allauth_2fa/setup.html:20 -#, fuzzy -#| msgid "Secret" msgid "Secret: " -msgstr "Confidentiel" +msgstr "" #: templates/allauth_2fa/setup.html:24 msgid "Step 2" @@ -14392,3 +14390,4 @@ msgstr "Droit de modifier des élément" #: users/models.py:413 msgid "Permission to delete items" msgstr "Droit de supprimer des éléments" + diff --git a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po index 22a4c3d583..3d24e8f570 100644 --- a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:39\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "" #: InvenTree/locales.py:41 +msgid "Romanian" +msgstr "" + +#: InvenTree/locales.py:42 msgid "Russian" msgstr "רוסית" -#: InvenTree/locales.py:42 +#: InvenTree/locales.py:43 msgid "Slovak" msgstr "" -#: InvenTree/locales.py:43 +#: InvenTree/locales.py:44 msgid "Slovenian" msgstr "" -#: InvenTree/locales.py:44 +#: InvenTree/locales.py:45 msgid "Serbian" msgstr "" -#: InvenTree/locales.py:45 +#: InvenTree/locales.py:46 msgid "Swedish" msgstr "שוודית" -#: InvenTree/locales.py:46 +#: InvenTree/locales.py:47 msgid "Thai" msgstr "תאילנדית" -#: InvenTree/locales.py:47 +#: InvenTree/locales.py:48 msgid "Turkish" msgstr "טורקית" -#: InvenTree/locales.py:48 +#: InvenTree/locales.py:49 msgid "Ukrainian" msgstr "" -#: InvenTree/locales.py:49 +#: InvenTree/locales.py:50 msgid "Vietnamese" msgstr "ווייטנאמית" -#: InvenTree/locales.py:50 +#: InvenTree/locales.py:51 msgid "Chinese (Simplified)" msgstr "" -#: InvenTree/locales.py:51 +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "" @@ -444,7 +448,7 @@ msgstr "הערת קובץ" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "בחירה שגויה" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -8152,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "" @@ -8340,11 +8344,11 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -14386,3 +14390,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po index 945efe0a1d..441116f3e3 100644 --- a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:40\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:05\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Language: hi_IN\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "" #: InvenTree/locales.py:41 -msgid "Russian" +msgid "Romanian" msgstr "" #: InvenTree/locales.py:42 -msgid "Slovak" +msgid "Russian" msgstr "" #: InvenTree/locales.py:43 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: InvenTree/locales.py:44 -msgid "Serbian" +msgid "Slovenian" msgstr "" #: InvenTree/locales.py:45 -msgid "Swedish" +msgid "Serbian" msgstr "" #: InvenTree/locales.py:46 -msgid "Thai" +msgid "Swedish" msgstr "" #: InvenTree/locales.py:47 -msgid "Turkish" +msgid "Thai" msgstr "" #: InvenTree/locales.py:48 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: InvenTree/locales.py:49 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: InvenTree/locales.py:50 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: InvenTree/locales.py:51 +msgid "Chinese (Simplified)" +msgstr "" + +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "" @@ -444,7 +448,7 @@ msgstr "" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -8152,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "" @@ -8340,11 +8344,11 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -14386,3 +14390,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po index 12d343424d..12445a123e 100644 --- a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:39\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "Portugál (Brazíliai)" #: InvenTree/locales.py:41 +msgid "Romanian" +msgstr "" + +#: InvenTree/locales.py:42 msgid "Russian" msgstr "Orosz" -#: InvenTree/locales.py:42 +#: InvenTree/locales.py:43 msgid "Slovak" msgstr "Szlovák" -#: InvenTree/locales.py:43 +#: InvenTree/locales.py:44 msgid "Slovenian" msgstr "Szlovén" -#: InvenTree/locales.py:44 +#: InvenTree/locales.py:45 msgid "Serbian" msgstr "Szerb" -#: InvenTree/locales.py:45 +#: InvenTree/locales.py:46 msgid "Swedish" msgstr "Svéd" -#: InvenTree/locales.py:46 +#: InvenTree/locales.py:47 msgid "Thai" msgstr "Tháj" -#: InvenTree/locales.py:47 +#: InvenTree/locales.py:48 msgid "Turkish" msgstr "Török" -#: InvenTree/locales.py:48 +#: InvenTree/locales.py:49 msgid "Ukrainian" msgstr "Ukrán" -#: InvenTree/locales.py:49 +#: InvenTree/locales.py:50 msgid "Vietnamese" msgstr "Vietnámi" -#: InvenTree/locales.py:50 +#: InvenTree/locales.py:51 msgid "Chinese (Simplified)" msgstr "Kínai (egyszerűsített)" -#: InvenTree/locales.py:51 +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "Kínai (Hagyományos)" @@ -444,7 +448,7 @@ msgstr "Leírás, bővebb infó" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "Érvénytelen választás" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -1345,8 +1349,7 @@ msgstr "Hiányos foglalás elfogadása" #: build/serializers.py:527 msgid "Complete outputs if stock has not been fully allocated" -msgstr "" -"Kimenetek befejezése akkor is ha a készlet nem\n" +msgstr "Kimenetek befejezése akkor is ha a készlet nem\n" "lett teljesen lefoglalva" #: build/serializers.py:612 @@ -3465,7 +3468,7 @@ msgstr "Webhook neve" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -6512,10 +6515,8 @@ msgid "Choices" msgstr "Lehetőségek" #: part/models.py:3575 -#, fuzzy -#| msgid "Valid choices for this parameter (comma-separated)" msgid "Valid choices for this test (comma-separated)" -msgstr "Választható lehetőségek (vesszővel elválasztva)" +msgstr "" #: part/models.py:3629 msgid "Checkbox parameters cannot have units" @@ -8156,62 +8157,62 @@ msgstr "Plugin nem eltávolítható mivel még aktív" msgid "Uninstalled plugin successfully" msgstr "Plugin eltávolítása sikeres" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "Plugin beállítás" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "Plugin beállítások" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "Kulcs" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "Plugin kulcsa" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "PluginNeve a pluginnak" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "Csomag neve" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "A telepített csomag neve, ha a plugin a PIP-el lett telepítve" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "Aktív-e a plugin" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "Beépítve" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "Példa plugin" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "Beépített plugin" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "Csomag plugin" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "Bővítmény" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "Módszer" @@ -8344,11 +8345,11 @@ msgstr "Plugin aktiválása" msgid "Activate this plugin" msgstr "Plugin bekapcsolása" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "Konfiguráció törlése" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "Plugin konfiguráció törlése az adatbázisból" @@ -8714,10 +8715,8 @@ msgid "Supplier Part ID" msgstr "Beszállítói cikkszám" #: stock/admin.py:185 -#, fuzzy -#| msgid "Supplier Part" msgid "Supplier Part SKU" -msgstr "Beszállítói alkatrész" +msgstr "" #: stock/admin.py:190 msgid "Supplier ID" @@ -9081,10 +9080,8 @@ msgid "Attachment must be uploaded for this test" msgstr "Ehhez a teszthez fel kell tölteni mellékletet" #: stock/models.py:2404 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid value for this test" -msgstr "Érvénytelen érték a túlszállításra" +msgstr "" #: stock/models.py:2428 msgid "Test result" @@ -10940,10 +10937,8 @@ msgid "Scan the QR code below with a token generator of your choice (for instanc msgstr "Olvasd be a lenti QR kódot egy kiválaszott token generátorral (például a Google Authenticator-ral)." #: templates/allauth_2fa/setup.html:20 -#, fuzzy -#| msgid "Secret" msgid "Secret: " -msgstr "Titok" +msgstr "" #: templates/allauth_2fa/setup.html:24 msgid "Step 2" @@ -14396,3 +14391,4 @@ msgstr "Jogosultság tételek szerkesztéséhez" #: users/models.py:413 msgid "Permission to delete items" msgstr "Jogosultság tételek törléséhez" + diff --git a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po index dece834c3a..baf67d03fc 100644 --- a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:40\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:05\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "Portugis (Brasil)" #: InvenTree/locales.py:41 +msgid "Romanian" +msgstr "" + +#: InvenTree/locales.py:42 msgid "Russian" msgstr "Rusia" -#: InvenTree/locales.py:42 +#: InvenTree/locales.py:43 msgid "Slovak" msgstr "" -#: InvenTree/locales.py:43 +#: InvenTree/locales.py:44 msgid "Slovenian" msgstr "" -#: InvenTree/locales.py:44 +#: InvenTree/locales.py:45 msgid "Serbian" msgstr "" -#: InvenTree/locales.py:45 +#: InvenTree/locales.py:46 msgid "Swedish" msgstr "Swedia" -#: InvenTree/locales.py:46 +#: InvenTree/locales.py:47 msgid "Thai" msgstr "" -#: InvenTree/locales.py:47 +#: InvenTree/locales.py:48 msgid "Turkish" msgstr "Turki" -#: InvenTree/locales.py:48 +#: InvenTree/locales.py:49 msgid "Ukrainian" msgstr "" -#: InvenTree/locales.py:49 +#: InvenTree/locales.py:50 msgid "Vietnamese" msgstr "Vietnam" -#: InvenTree/locales.py:50 +#: InvenTree/locales.py:51 msgid "Chinese (Simplified)" msgstr "" -#: InvenTree/locales.py:51 +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "" @@ -444,7 +448,7 @@ msgstr "Komentar file" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "Pilihan tidak valid" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -8152,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "" @@ -8340,11 +8344,11 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9075,10 +9079,8 @@ msgid "Attachment must be uploaded for this test" msgstr "Lampiran perlu diunggah untuk tes ini" #: stock/models.py:2404 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid value for this test" -msgstr "Nilai kelebihan tidak valid" +msgstr "" #: stock/models.py:2428 msgid "Test result" @@ -14388,3 +14390,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po index c759fac2f0..74df3343c3 100644 --- a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:39\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "Portoghese (Brasile)" #: InvenTree/locales.py:41 +msgid "Romanian" +msgstr "" + +#: InvenTree/locales.py:42 msgid "Russian" msgstr "Russo" -#: InvenTree/locales.py:42 +#: InvenTree/locales.py:43 msgid "Slovak" msgstr "" -#: InvenTree/locales.py:43 +#: InvenTree/locales.py:44 msgid "Slovenian" msgstr "Sloveno" -#: InvenTree/locales.py:44 +#: InvenTree/locales.py:45 msgid "Serbian" msgstr "Serbo" -#: InvenTree/locales.py:45 +#: InvenTree/locales.py:46 msgid "Swedish" msgstr "Svedese" -#: InvenTree/locales.py:46 +#: InvenTree/locales.py:47 msgid "Thai" msgstr "Thailandese" -#: InvenTree/locales.py:47 +#: InvenTree/locales.py:48 msgid "Turkish" msgstr "Turco" -#: InvenTree/locales.py:48 +#: InvenTree/locales.py:49 msgid "Ukrainian" msgstr "" -#: InvenTree/locales.py:49 +#: InvenTree/locales.py:50 msgid "Vietnamese" msgstr "Vietnamita" -#: InvenTree/locales.py:50 +#: InvenTree/locales.py:51 msgid "Chinese (Simplified)" msgstr "Cinese (Semplificato)" -#: InvenTree/locales.py:51 +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "Cinese (Tradizionale)" @@ -444,7 +448,7 @@ msgstr "Commento del file" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "Scelta non valida" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "Nome per questa notifica" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -6510,10 +6514,8 @@ msgid "Choices" msgstr "" #: part/models.py:3575 -#, fuzzy -#| msgid "Invalid choice for parent part" msgid "Valid choices for this test (comma-separated)" -msgstr "Scelta non valida per l'articolo principale" +msgstr "" #: part/models.py:3629 msgid "Checkbox parameters cannot have units" @@ -8154,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "Configurazione Plugin" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "Configurazioni Plugin" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "Key dei plugin" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "PluginName del plugin" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "Nome Pacchetto" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "Il plugin è attivo" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "Installato" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "Plugin di esempio" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "Plugin Integrato" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "Metodo" @@ -8342,11 +8344,11 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -8712,10 +8714,8 @@ msgid "Supplier Part ID" msgstr "ID Articolo Fornitore" #: stock/admin.py:185 -#, fuzzy -#| msgid "Supplier Part" msgid "Supplier Part SKU" -msgstr "Articolo Fornitore" +msgstr "" #: stock/admin.py:190 msgid "Supplier ID" @@ -9079,10 +9079,8 @@ msgid "Attachment must be uploaded for this test" msgstr "L'allegato deve essere caricato per questo test" #: stock/models.py:2404 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid value for this test" -msgstr "Valore non valido per eccedenza" +msgstr "" #: stock/models.py:2428 msgid "Test result" @@ -10938,10 +10936,8 @@ msgid "Scan the QR code below with a token generator of your choice (for instanc msgstr "Scansiona il codice QR qui sotto con un generatore di token di tua scelta (per esempio Google Authenticator)." #: templates/allauth_2fa/setup.html:20 -#, fuzzy -#| msgid "Secret" msgid "Secret: " -msgstr "Segreto" +msgstr "" #: templates/allauth_2fa/setup.html:24 msgid "Step 2" @@ -14394,3 +14390,4 @@ msgstr "Permessi per modificare gli elementi" #: users/models.py:413 msgid "Permission to delete items" msgstr "Autorizzazione ad eliminare gli elementi" + diff --git a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po index b2fc3b1afc..0a3a8dbbca 100644 --- a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-05 12:39\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "ポルトガル語 (ブラジル)" #: InvenTree/locales.py:41 +msgid "Romanian" +msgstr "" + +#: InvenTree/locales.py:42 msgid "Russian" msgstr "ロシア語" -#: InvenTree/locales.py:42 +#: InvenTree/locales.py:43 msgid "Slovak" msgstr "" -#: InvenTree/locales.py:43 +#: InvenTree/locales.py:44 msgid "Slovenian" msgstr "スロベニア語" -#: InvenTree/locales.py:44 +#: InvenTree/locales.py:45 msgid "Serbian" msgstr "" -#: InvenTree/locales.py:45 +#: InvenTree/locales.py:46 msgid "Swedish" msgstr "スウェーデン語" -#: InvenTree/locales.py:46 +#: InvenTree/locales.py:47 msgid "Thai" msgstr "タイ語" -#: InvenTree/locales.py:47 +#: InvenTree/locales.py:48 msgid "Turkish" msgstr "トルコ語" -#: InvenTree/locales.py:48 +#: InvenTree/locales.py:49 msgid "Ukrainian" msgstr "" -#: InvenTree/locales.py:49 +#: InvenTree/locales.py:50 msgid "Vietnamese" msgstr "ベトナム語" -#: InvenTree/locales.py:50 +#: InvenTree/locales.py:51 msgid "Chinese (Simplified)" msgstr "" -#: InvenTree/locales.py:51 +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "" @@ -444,7 +448,7 @@ msgstr "ファイルコメント" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "無効な選択です" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -8152,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "" @@ -8340,11 +8344,11 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -8710,10 +8714,8 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 -#, fuzzy -#| msgid "Supplier Parts" msgid "Supplier Part SKU" -msgstr "サプライヤー・パーツ" +msgstr "" #: stock/admin.py:190 msgid "Supplier ID" @@ -9077,10 +9079,8 @@ msgid "Attachment must be uploaded for this test" msgstr "" #: stock/models.py:2404 -#, fuzzy -#| msgid "Invalid value" msgid "Invalid value for this test" -msgstr "無効な値です。" +msgstr "" #: stock/models.py:2428 msgid "Test result" @@ -14390,3 +14390,4 @@ msgstr "項目を編集する権限" #: users/models.py:413 msgid "Permission to delete items" msgstr "項目を削除する権限" + diff --git a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po index 4ae0423ceb..ab6fb8fd6d 100644 --- a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:39\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "" #: InvenTree/locales.py:41 -msgid "Russian" +msgid "Romanian" msgstr "" #: InvenTree/locales.py:42 -msgid "Slovak" +msgid "Russian" msgstr "" #: InvenTree/locales.py:43 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: InvenTree/locales.py:44 -msgid "Serbian" +msgid "Slovenian" msgstr "" #: InvenTree/locales.py:45 -msgid "Swedish" +msgid "Serbian" msgstr "" #: InvenTree/locales.py:46 -msgid "Thai" +msgid "Swedish" msgstr "" #: InvenTree/locales.py:47 -msgid "Turkish" +msgid "Thai" msgstr "" #: InvenTree/locales.py:48 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: InvenTree/locales.py:49 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: InvenTree/locales.py:50 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: InvenTree/locales.py:51 +msgid "Chinese (Simplified)" +msgstr "" + +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "" @@ -444,7 +448,7 @@ msgstr "" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -8152,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "" @@ -8340,11 +8344,11 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -14386,3 +14390,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po index 80d49ab82f..689d8be75d 100644 --- a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:40\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:05\n" "Last-Translator: \n" "Language-Team: Latvian\n" "Language: lv_LV\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "" #: InvenTree/locales.py:41 -msgid "Russian" +msgid "Romanian" msgstr "" #: InvenTree/locales.py:42 -msgid "Slovak" +msgid "Russian" msgstr "" #: InvenTree/locales.py:43 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: InvenTree/locales.py:44 -msgid "Serbian" +msgid "Slovenian" msgstr "" #: InvenTree/locales.py:45 -msgid "Swedish" +msgid "Serbian" msgstr "" #: InvenTree/locales.py:46 -msgid "Thai" +msgid "Swedish" msgstr "" #: InvenTree/locales.py:47 -msgid "Turkish" +msgid "Thai" msgstr "" #: InvenTree/locales.py:48 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: InvenTree/locales.py:49 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: InvenTree/locales.py:50 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: InvenTree/locales.py:51 +msgid "Chinese (Simplified)" +msgstr "" + +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "" @@ -444,7 +448,7 @@ msgstr "" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -8152,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "" @@ -8340,11 +8344,11 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -14386,3 +14390,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po index 5b2449f70d..755c8dfa59 100644 --- a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:39\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "Portugees (Braziliaans)" #: InvenTree/locales.py:41 +msgid "Romanian" +msgstr "" + +#: InvenTree/locales.py:42 msgid "Russian" msgstr "Russisch" -#: InvenTree/locales.py:42 +#: InvenTree/locales.py:43 msgid "Slovak" msgstr "" -#: InvenTree/locales.py:43 +#: InvenTree/locales.py:44 msgid "Slovenian" msgstr "Sloveens" -#: InvenTree/locales.py:44 +#: InvenTree/locales.py:45 msgid "Serbian" msgstr "Servisch" -#: InvenTree/locales.py:45 +#: InvenTree/locales.py:46 msgid "Swedish" msgstr "Zweeds" -#: InvenTree/locales.py:46 +#: InvenTree/locales.py:47 msgid "Thai" msgstr "Thais" -#: InvenTree/locales.py:47 +#: InvenTree/locales.py:48 msgid "Turkish" msgstr "Turks" -#: InvenTree/locales.py:48 +#: InvenTree/locales.py:49 msgid "Ukrainian" msgstr "" -#: InvenTree/locales.py:49 +#: InvenTree/locales.py:50 msgid "Vietnamese" msgstr "Vietnamees" -#: InvenTree/locales.py:50 +#: InvenTree/locales.py:51 msgid "Chinese (Simplified)" msgstr "Chinees (vereenvoudigd)" -#: InvenTree/locales.py:51 +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "Chinees (traditioneel)" @@ -444,7 +448,7 @@ msgstr "Bestand opmerking" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "Ongeldige keuze" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "Naam van deze webhook" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -8152,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "" @@ -8340,11 +8344,11 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -8710,10 +8714,8 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 -#, fuzzy -#| msgid "Supplier Part" msgid "Supplier Part SKU" -msgstr "Leveranciersonderdeel" +msgstr "" #: stock/admin.py:190 msgid "Supplier ID" @@ -9077,10 +9079,8 @@ msgid "Attachment must be uploaded for this test" msgstr "" #: stock/models.py:2404 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid value for this test" -msgstr "Ongeldige waarde voor overschot" +msgstr "" #: stock/models.py:2428 msgid "Test result" @@ -10936,10 +10936,8 @@ msgid "Scan the QR code below with a token generator of your choice (for instanc msgstr "" #: templates/allauth_2fa/setup.html:20 -#, fuzzy -#| msgid "Secret" msgid "Secret: " -msgstr "Geheim" +msgstr "" #: templates/allauth_2fa/setup.html:24 msgid "Step 2" @@ -14392,3 +14390,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po index 9976658170..0001549987 100644 --- a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:39\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "Portugisisk (Brasil)" #: InvenTree/locales.py:41 +msgid "Romanian" +msgstr "" + +#: InvenTree/locales.py:42 msgid "Russian" msgstr "Russisk" -#: InvenTree/locales.py:42 +#: InvenTree/locales.py:43 msgid "Slovak" msgstr "Slovakisk" -#: InvenTree/locales.py:43 +#: InvenTree/locales.py:44 msgid "Slovenian" msgstr "Slovensk" -#: InvenTree/locales.py:44 +#: InvenTree/locales.py:45 msgid "Serbian" msgstr "Serbisk" -#: InvenTree/locales.py:45 +#: InvenTree/locales.py:46 msgid "Swedish" msgstr "Svensk" -#: InvenTree/locales.py:46 +#: InvenTree/locales.py:47 msgid "Thai" msgstr "Thailandsk" -#: InvenTree/locales.py:47 +#: InvenTree/locales.py:48 msgid "Turkish" msgstr "Tyrkisk" -#: InvenTree/locales.py:48 +#: InvenTree/locales.py:49 msgid "Ukrainian" msgstr "" -#: InvenTree/locales.py:49 +#: InvenTree/locales.py:50 msgid "Vietnamese" msgstr "Vietnamesisk" -#: InvenTree/locales.py:50 +#: InvenTree/locales.py:51 msgid "Chinese (Simplified)" msgstr "Kinesisk (forenklet)" -#: InvenTree/locales.py:51 +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "Kinesisk (tradisjonell)" @@ -444,7 +448,7 @@ msgstr "Kommentar til fil" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "Ugyldig valg" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "Navn for webhooken" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -6510,10 +6514,8 @@ msgid "Choices" msgstr "Valg" #: part/models.py:3575 -#, fuzzy -#| msgid "Valid choices for this parameter (comma-separated)" msgid "Valid choices for this test (comma-separated)" -msgstr "Gyldige valg for denne parameteren (kommaseparert)" +msgstr "" #: part/models.py:3629 msgid "Checkbox parameters cannot have units" @@ -8154,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "Konfigurasjon av utvidelse" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "Konfigurasjon av utvidelser" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "Nøkkel" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "Utvidelsens \"Key\"" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "Navn på utvidelsen" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "Pakkenavn" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "Er utvidelsen aktiv" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "Installert" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "Eksempel-utvidelse" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "Innebygd utvidelse" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "Utvidelse" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "Metode" @@ -8342,11 +8344,11 @@ msgstr "Aktivér utvidelse" msgid "Activate this plugin" msgstr "Aktivér denne utvidelsen" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -8712,10 +8714,8 @@ msgid "Supplier Part ID" msgstr "Leverandørdel-ID" #: stock/admin.py:185 -#, fuzzy -#| msgid "Supplier Part" msgid "Supplier Part SKU" -msgstr "Leverandørdel" +msgstr "" #: stock/admin.py:190 msgid "Supplier ID" @@ -9079,10 +9079,8 @@ msgid "Attachment must be uploaded for this test" msgstr "Vedlegg må lastes opp for denne testen" #: stock/models.py:2404 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid value for this test" -msgstr "Ugyldig verdi for svinn" +msgstr "" #: stock/models.py:2428 msgid "Test result" @@ -10938,10 +10936,8 @@ msgid "Scan the QR code below with a token generator of your choice (for instanc msgstr "Skann QR-koden nedenfor med en symbolgenerator du velger (for eksempel Google Authenticator)." #: templates/allauth_2fa/setup.html:20 -#, fuzzy -#| msgid "Secret" msgid "Secret: " -msgstr "Hemmelig" +msgstr "" #: templates/allauth_2fa/setup.html:24 msgid "Step 2" @@ -14394,3 +14390,4 @@ msgstr "Tillatelse til å endre elementer" #: users/models.py:413 msgid "Permission to delete items" msgstr "Tillatelse til å slette elementer" + diff --git a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po index df14385e6f..c96dcf7066 100644 --- a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:39\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "Portugalski (Brazylijski)" #: InvenTree/locales.py:41 +msgid "Romanian" +msgstr "" + +#: InvenTree/locales.py:42 msgid "Russian" msgstr "Rosyjski" -#: InvenTree/locales.py:42 +#: InvenTree/locales.py:43 msgid "Slovak" msgstr "Słowacki" -#: InvenTree/locales.py:43 +#: InvenTree/locales.py:44 msgid "Slovenian" msgstr "Słoweński" -#: InvenTree/locales.py:44 +#: InvenTree/locales.py:45 msgid "Serbian" msgstr "serbski" -#: InvenTree/locales.py:45 +#: InvenTree/locales.py:46 msgid "Swedish" msgstr "Szwedzki" -#: InvenTree/locales.py:46 +#: InvenTree/locales.py:47 msgid "Thai" msgstr "Tajski" -#: InvenTree/locales.py:47 +#: InvenTree/locales.py:48 msgid "Turkish" msgstr "Turecki" -#: InvenTree/locales.py:48 +#: InvenTree/locales.py:49 msgid "Ukrainian" msgstr "" -#: InvenTree/locales.py:49 +#: InvenTree/locales.py:50 msgid "Vietnamese" msgstr "Wietnamski" -#: InvenTree/locales.py:50 +#: InvenTree/locales.py:51 msgid "Chinese (Simplified)" msgstr "chiński (uproszczony)" -#: InvenTree/locales.py:51 +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "chiński (tradycyjny)" @@ -444,7 +448,7 @@ msgstr "Komentarz pliku" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "Błędny wybór" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -6510,10 +6514,8 @@ msgid "Choices" msgstr "" #: part/models.py:3575 -#, fuzzy -#| msgid "Invalid choice for parent part" msgid "Valid choices for this test (comma-separated)" -msgstr "Nieprawidłowy wybór dla części nadrzędnej" +msgstr "" #: part/models.py:3629 msgid "Checkbox parameters cannot have units" @@ -8154,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "Konfiguracja wtyczki" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "Konfiguracja wtyczek" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "Klucz" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "Klucz wtyczki" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "Nazwa wtyczki" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "Nazwa pakietu" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "Czy wtyczka jest aktywna" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "Zainstalowane" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "Wtyczka wbudowana" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "Wtyczka" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "Metoda" @@ -8342,11 +8344,11 @@ msgstr "Aktywuj wtyczkę" msgid "Activate this plugin" msgstr "Aktywuj tę wtyczkę" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -8712,10 +8714,8 @@ msgid "Supplier Part ID" msgstr "ID części dostawcy" #: stock/admin.py:185 -#, fuzzy -#| msgid "Supplier Part ID" msgid "Supplier Part SKU" -msgstr "ID części dostawcy" +msgstr "" #: stock/admin.py:190 msgid "Supplier ID" @@ -9079,10 +9079,8 @@ msgid "Attachment must be uploaded for this test" msgstr "" #: stock/models.py:2404 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid value for this test" -msgstr "Nieprawidłowa wartość przedawnienia" +msgstr "" #: stock/models.py:2428 msgid "Test result" @@ -10938,10 +10936,8 @@ msgid "Scan the QR code below with a token generator of your choice (for instanc msgstr "Zeskanuj poniższy kod QR za pomocą wybranego przez Ciebie generatora tokenów (np. Google Authenticator)." #: templates/allauth_2fa/setup.html:20 -#, fuzzy -#| msgid "Secret" msgid "Secret: " -msgstr "Sekret" +msgstr "" #: templates/allauth_2fa/setup.html:24 msgid "Step 2" @@ -14394,3 +14390,4 @@ msgstr "Uprawnienie do edycji przedmiotów" #: users/models.py:413 msgid "Permission to delete items" msgstr "Uprawnienie do usuwania przedmiotów" + diff --git a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po index 420958f093..e066ce1e6b 100644 --- a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:40\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:05\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "" #: InvenTree/locales.py:41 -msgid "Russian" +msgid "Romanian" msgstr "" #: InvenTree/locales.py:42 -msgid "Slovak" +msgid "Russian" msgstr "" #: InvenTree/locales.py:43 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: InvenTree/locales.py:44 -msgid "Serbian" +msgid "Slovenian" msgstr "" #: InvenTree/locales.py:45 -msgid "Swedish" +msgid "Serbian" msgstr "" #: InvenTree/locales.py:46 -msgid "Thai" +msgid "Swedish" msgstr "" #: InvenTree/locales.py:47 -msgid "Turkish" +msgid "Thai" msgstr "" #: InvenTree/locales.py:48 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: InvenTree/locales.py:49 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: InvenTree/locales.py:50 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: InvenTree/locales.py:51 +msgid "Chinese (Simplified)" +msgstr "" + +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "" @@ -444,7 +448,7 @@ msgstr "" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -8152,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "" @@ -8340,11 +8344,11 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -14386,3 +14390,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po index 1910d31374..686d6824f5 100644 --- a/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po @@ -1,23 +1,22 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 01:26+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:05\n" +"Last-Translator: \n" +"Language-Team: Romanian\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" -"2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" +"X-Crowdin-Project: inventree\n" +"X-Crowdin-Project-ID: 452300\n" +"X-Crowdin-Language: ro\n" +"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 216\n" + #: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "" @@ -14391,3 +14390,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po index d5c5d43b19..0c8ff53bc2 100644 --- a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:39\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "Португальский (Бразильский диалект)" #: InvenTree/locales.py:41 +msgid "Romanian" +msgstr "" + +#: InvenTree/locales.py:42 msgid "Russian" msgstr "Русский" -#: InvenTree/locales.py:42 +#: InvenTree/locales.py:43 msgid "Slovak" msgstr "Словацкий" -#: InvenTree/locales.py:43 +#: InvenTree/locales.py:44 msgid "Slovenian" msgstr "Словенский" -#: InvenTree/locales.py:44 +#: InvenTree/locales.py:45 msgid "Serbian" msgstr "Сербский" -#: InvenTree/locales.py:45 +#: InvenTree/locales.py:46 msgid "Swedish" msgstr "Шведский" -#: InvenTree/locales.py:46 +#: InvenTree/locales.py:47 msgid "Thai" msgstr "Тайский" -#: InvenTree/locales.py:47 +#: InvenTree/locales.py:48 msgid "Turkish" msgstr "Турецкий" -#: InvenTree/locales.py:48 +#: InvenTree/locales.py:49 msgid "Ukrainian" msgstr "Украинский" -#: InvenTree/locales.py:49 +#: InvenTree/locales.py:50 msgid "Vietnamese" msgstr "Вьетнамский" -#: InvenTree/locales.py:50 +#: InvenTree/locales.py:51 msgid "Chinese (Simplified)" msgstr "Китайский (Упрощенный)" -#: InvenTree/locales.py:51 +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "Китайский (Традиционный)" @@ -444,7 +448,7 @@ msgstr "Комментарий к файлу" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "Неверный выбор" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -8152,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "Ключ" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "Ключ плагина" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "Имя Упаковки" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "Установлено" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "Образец плагина" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "Встроенный плагин" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "Плагин" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "Метод" @@ -8340,11 +8344,11 @@ msgstr "Активировать плагин" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -8710,10 +8714,8 @@ msgid "Supplier Part ID" msgstr "Код детали поставщика" #: stock/admin.py:185 -#, fuzzy -#| msgid "Supplier Part" msgid "Supplier Part SKU" -msgstr "Деталь поставщика" +msgstr "" #: stock/admin.py:190 msgid "Supplier ID" @@ -9077,10 +9079,8 @@ msgid "Attachment must be uploaded for this test" msgstr "" #: stock/models.py:2404 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid value for this test" -msgstr "Неверное значение для избытка" +msgstr "" #: stock/models.py:2428 msgid "Test result" @@ -10936,10 +10936,8 @@ msgid "Scan the QR code below with a token generator of your choice (for instanc msgstr "" #: templates/allauth_2fa/setup.html:20 -#, fuzzy -#| msgid "Secret" msgid "Secret: " -msgstr "Секрет" +msgstr "" #: templates/allauth_2fa/setup.html:24 msgid "Step 2" @@ -14392,3 +14390,4 @@ msgstr "Разрешение на редактирование элементо #: users/models.py:413 msgid "Permission to delete items" msgstr "Разрешение на удаление элементов" + diff --git a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po index 9e4df6e864..9e8fe41c3e 100644 --- a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:39\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Language: sk_SK\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "" #: InvenTree/locales.py:41 -msgid "Russian" +msgid "Romanian" msgstr "" #: InvenTree/locales.py:42 -msgid "Slovak" +msgid "Russian" msgstr "" #: InvenTree/locales.py:43 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: InvenTree/locales.py:44 -msgid "Serbian" +msgid "Slovenian" msgstr "" #: InvenTree/locales.py:45 -msgid "Swedish" +msgid "Serbian" msgstr "" #: InvenTree/locales.py:46 -msgid "Thai" +msgid "Swedish" msgstr "" #: InvenTree/locales.py:47 -msgid "Turkish" +msgid "Thai" msgstr "" #: InvenTree/locales.py:48 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: InvenTree/locales.py:49 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: InvenTree/locales.py:50 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: InvenTree/locales.py:51 +msgid "Chinese (Simplified)" +msgstr "" + +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "" @@ -444,7 +448,7 @@ msgstr "" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -8152,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "" @@ -8340,11 +8344,11 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -14386,3 +14390,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po index 3fdc90d8bd..9bec0d6509 100644 --- a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:39\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "Portugalščina (Brazilsko)" #: InvenTree/locales.py:41 +msgid "Romanian" +msgstr "" + +#: InvenTree/locales.py:42 msgid "Russian" msgstr "Ruščina" -#: InvenTree/locales.py:42 +#: InvenTree/locales.py:43 msgid "Slovak" msgstr "Slovaščina" -#: InvenTree/locales.py:43 +#: InvenTree/locales.py:44 msgid "Slovenian" msgstr "Slovenščina" -#: InvenTree/locales.py:44 +#: InvenTree/locales.py:45 msgid "Serbian" msgstr "Srbščina" -#: InvenTree/locales.py:45 +#: InvenTree/locales.py:46 msgid "Swedish" msgstr "Švedščina" -#: InvenTree/locales.py:46 +#: InvenTree/locales.py:47 msgid "Thai" msgstr "Tajščina" -#: InvenTree/locales.py:47 +#: InvenTree/locales.py:48 msgid "Turkish" msgstr "Turščina" -#: InvenTree/locales.py:48 +#: InvenTree/locales.py:49 msgid "Ukrainian" msgstr "" -#: InvenTree/locales.py:49 +#: InvenTree/locales.py:50 msgid "Vietnamese" msgstr "Vietnamščina" -#: InvenTree/locales.py:50 +#: InvenTree/locales.py:51 msgid "Chinese (Simplified)" msgstr "Kitajščina (poenostavljena)" -#: InvenTree/locales.py:51 +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "Kitajščina (tradicionalno)" @@ -444,7 +448,7 @@ msgstr "Komentar datoteke" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "Nedovoljena izbira" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -8152,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "" @@ -8340,11 +8344,11 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9075,10 +9079,8 @@ msgid "Attachment must be uploaded for this test" msgstr "" #: stock/models.py:2404 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid value for this test" -msgstr "Neveljavna vrednost za prestarost" +msgstr "" #: stock/models.py:2428 msgid "Test result" @@ -14388,3 +14390,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po index 7fae2dab40..c8685ef38c 100644 --- a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:40\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:05\n" "Last-Translator: \n" "Language-Team: Serbian (Latin)\n" "Language: sr_CS\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "Portugalski (Brazil)" #: InvenTree/locales.py:41 +msgid "Romanian" +msgstr "" + +#: InvenTree/locales.py:42 msgid "Russian" msgstr "Ruski" -#: InvenTree/locales.py:42 +#: InvenTree/locales.py:43 msgid "Slovak" msgstr "" -#: InvenTree/locales.py:43 +#: InvenTree/locales.py:44 msgid "Slovenian" msgstr "Slovenski" -#: InvenTree/locales.py:44 +#: InvenTree/locales.py:45 msgid "Serbian" msgstr "Srpski" -#: InvenTree/locales.py:45 +#: InvenTree/locales.py:46 msgid "Swedish" msgstr "Švedski" -#: InvenTree/locales.py:46 +#: InvenTree/locales.py:47 msgid "Thai" msgstr "Tajlandski" -#: InvenTree/locales.py:47 +#: InvenTree/locales.py:48 msgid "Turkish" msgstr "Turski" -#: InvenTree/locales.py:48 +#: InvenTree/locales.py:49 msgid "Ukrainian" msgstr "" -#: InvenTree/locales.py:49 +#: InvenTree/locales.py:50 msgid "Vietnamese" msgstr "Vijetnamski" -#: InvenTree/locales.py:50 +#: InvenTree/locales.py:51 msgid "Chinese (Simplified)" msgstr "Kineski (Uprošćeni)" -#: InvenTree/locales.py:51 +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "Kineski (Tradicionalni)" @@ -444,7 +448,7 @@ msgstr "Datoteka komentara" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "Nevažeći izvor" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -8152,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "" @@ -8340,11 +8344,11 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9075,10 +9079,8 @@ msgid "Attachment must be uploaded for this test" msgstr "" #: stock/models.py:2404 -#, fuzzy -#| msgid "Invalid value" msgid "Invalid value for this test" -msgstr "Nevažeća vrednost" +msgstr "" #: stock/models.py:2428 msgid "Test result" @@ -14388,3 +14390,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po index e054b069b8..2947a99cfc 100644 --- a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:39\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-12 23:00\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "Portugisiska (brasiliansk)" #: InvenTree/locales.py:41 +msgid "Romanian" +msgstr "Rumänska" + +#: InvenTree/locales.py:42 msgid "Russian" msgstr "Ryska" -#: InvenTree/locales.py:42 +#: InvenTree/locales.py:43 msgid "Slovak" msgstr "Slovakiska" -#: InvenTree/locales.py:43 +#: InvenTree/locales.py:44 msgid "Slovenian" msgstr "Slovenska" -#: InvenTree/locales.py:44 +#: InvenTree/locales.py:45 msgid "Serbian" msgstr "Serbiska" -#: InvenTree/locales.py:45 +#: InvenTree/locales.py:46 msgid "Swedish" msgstr "Svenska" -#: InvenTree/locales.py:46 +#: InvenTree/locales.py:47 msgid "Thai" msgstr "Thailändska" -#: InvenTree/locales.py:47 +#: InvenTree/locales.py:48 msgid "Turkish" msgstr "Turkiska" -#: InvenTree/locales.py:48 +#: InvenTree/locales.py:49 msgid "Ukrainian" msgstr "Ukrainska" -#: InvenTree/locales.py:49 +#: InvenTree/locales.py:50 msgid "Vietnamese" msgstr "Vietnamesiska" -#: InvenTree/locales.py:50 +#: InvenTree/locales.py:51 msgid "Chinese (Simplified)" msgstr "Kinesiska (Förenklad)" -#: InvenTree/locales.py:51 +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "Kinesiska (Traditionell)" @@ -444,7 +448,7 @@ msgstr "Fil kommentar" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "Ogiltigt val" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -8152,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "" @@ -8340,11 +8344,11 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -8710,10 +8714,8 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 -#, fuzzy -#| msgid "Search Supplier Parts" msgid "Supplier Part SKU" -msgstr "Sök efter leverantörsartikel" +msgstr "" #: stock/admin.py:190 msgid "Supplier ID" @@ -9077,10 +9079,8 @@ msgid "Attachment must be uploaded for this test" msgstr "" #: stock/models.py:2404 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid value for this test" -msgstr "Ogiltigt värde för överskott" +msgstr "" #: stock/models.py:2428 msgid "Test result" @@ -14390,3 +14390,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po index 81b1d3894b..afa95e0a42 100644 --- a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:40\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:05\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "" #: InvenTree/locales.py:41 +msgid "Romanian" +msgstr "" + +#: InvenTree/locales.py:42 msgid "Russian" msgstr "ภาษารัสเซีย" -#: InvenTree/locales.py:42 +#: InvenTree/locales.py:43 msgid "Slovak" msgstr "" -#: InvenTree/locales.py:43 +#: InvenTree/locales.py:44 msgid "Slovenian" msgstr "" -#: InvenTree/locales.py:44 +#: InvenTree/locales.py:45 msgid "Serbian" msgstr "" -#: InvenTree/locales.py:45 +#: InvenTree/locales.py:46 msgid "Swedish" msgstr "ภาษาสวีเดน" -#: InvenTree/locales.py:46 +#: InvenTree/locales.py:47 msgid "Thai" msgstr "ภาษาไทย" -#: InvenTree/locales.py:47 +#: InvenTree/locales.py:48 msgid "Turkish" msgstr "" -#: InvenTree/locales.py:48 +#: InvenTree/locales.py:49 msgid "Ukrainian" msgstr "" -#: InvenTree/locales.py:49 +#: InvenTree/locales.py:50 msgid "Vietnamese" msgstr "ภาษาเวียดนาม" -#: InvenTree/locales.py:50 +#: InvenTree/locales.py:51 msgid "Chinese (Simplified)" msgstr "" -#: InvenTree/locales.py:51 +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "" @@ -444,7 +448,7 @@ msgstr "ความเห็นของไฟล์" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -8152,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "" @@ -8340,11 +8344,11 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -14386,3 +14390,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po index 991e12d0b4..37833d899a 100644 --- a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:39\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "Portekizce (Brezilya)" #: InvenTree/locales.py:41 +msgid "Romanian" +msgstr "" + +#: InvenTree/locales.py:42 msgid "Russian" msgstr "Rusça" -#: InvenTree/locales.py:42 +#: InvenTree/locales.py:43 msgid "Slovak" msgstr "Slovakça" -#: InvenTree/locales.py:43 +#: InvenTree/locales.py:44 msgid "Slovenian" msgstr "Slovakça" -#: InvenTree/locales.py:44 +#: InvenTree/locales.py:45 msgid "Serbian" msgstr "Sırpça" -#: InvenTree/locales.py:45 +#: InvenTree/locales.py:46 msgid "Swedish" msgstr "İsveççe" -#: InvenTree/locales.py:46 +#: InvenTree/locales.py:47 msgid "Thai" msgstr "Tay dili" -#: InvenTree/locales.py:47 +#: InvenTree/locales.py:48 msgid "Turkish" msgstr "Türkçe" -#: InvenTree/locales.py:48 +#: InvenTree/locales.py:49 msgid "Ukrainian" msgstr "" -#: InvenTree/locales.py:49 +#: InvenTree/locales.py:50 msgid "Vietnamese" msgstr "Vietnamca" -#: InvenTree/locales.py:50 +#: InvenTree/locales.py:51 msgid "Chinese (Simplified)" msgstr "Çince (Basitleştirilmiş)" -#: InvenTree/locales.py:51 +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "Çince (Geleneksel)" @@ -444,7 +448,7 @@ msgstr "Dosya yorumu" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "Geçersiz seçim" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -8152,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "" @@ -8340,11 +8344,11 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -8710,10 +8714,8 @@ msgid "Supplier Part ID" msgstr "" #: stock/admin.py:185 -#, fuzzy -#| msgid "Supplier Part" msgid "Supplier Part SKU" -msgstr "Tedarikçi Parçası" +msgstr "" #: stock/admin.py:190 msgid "Supplier ID" @@ -9077,10 +9079,8 @@ msgid "Attachment must be uploaded for this test" msgstr "" #: stock/models.py:2404 -#, fuzzy -#| msgid "Invalid value" msgid "Invalid value for this test" -msgstr "Geçersiz değer" +msgstr "" #: stock/models.py:2428 msgid "Test result" @@ -14390,3 +14390,4 @@ msgstr "Parçaları düzenleme izni" #: users/models.py:413 msgid "Permission to delete items" msgstr "Parçaları silme izni" + diff --git a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po index 49e2977114..9d7850b692 100644 --- a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:40\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "" #: InvenTree/locales.py:41 -msgid "Russian" +msgid "Romanian" msgstr "" #: InvenTree/locales.py:42 -msgid "Slovak" +msgid "Russian" msgstr "" #: InvenTree/locales.py:43 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: InvenTree/locales.py:44 -msgid "Serbian" +msgid "Slovenian" msgstr "" #: InvenTree/locales.py:45 -msgid "Swedish" +msgid "Serbian" msgstr "" #: InvenTree/locales.py:46 -msgid "Thai" +msgid "Swedish" msgstr "" #: InvenTree/locales.py:47 -msgid "Turkish" +msgid "Thai" msgstr "" #: InvenTree/locales.py:48 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: InvenTree/locales.py:49 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: InvenTree/locales.py:50 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: InvenTree/locales.py:51 +msgid "Chinese (Simplified)" +msgstr "" + +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "" @@ -444,7 +448,7 @@ msgstr "" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -8152,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "" @@ -8340,11 +8344,11 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -14386,3 +14390,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po index bd89674e7f..6661afe2a0 100644 --- a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:40\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "Tiếng Bồ Đào Nha (Brazil)" #: InvenTree/locales.py:41 +msgid "Romanian" +msgstr "" + +#: InvenTree/locales.py:42 msgid "Russian" msgstr "Tiếng Nga" -#: InvenTree/locales.py:42 +#: InvenTree/locales.py:43 msgid "Slovak" msgstr "Tiếng Slo-va-ki-a" -#: InvenTree/locales.py:43 +#: InvenTree/locales.py:44 msgid "Slovenian" msgstr "Tiếng Slô-ven-ni-a" -#: InvenTree/locales.py:44 +#: InvenTree/locales.py:45 msgid "Serbian" msgstr "Tiếng Serbia" -#: InvenTree/locales.py:45 +#: InvenTree/locales.py:46 msgid "Swedish" msgstr "Tiếng Thụy Điển" -#: InvenTree/locales.py:46 +#: InvenTree/locales.py:47 msgid "Thai" msgstr "Tiếng Thái" -#: InvenTree/locales.py:47 +#: InvenTree/locales.py:48 msgid "Turkish" msgstr "Tiếng Thổ Nhĩ Kỳ" -#: InvenTree/locales.py:48 +#: InvenTree/locales.py:49 msgid "Ukrainian" msgstr "" -#: InvenTree/locales.py:49 +#: InvenTree/locales.py:50 msgid "Vietnamese" msgstr "Tiếng Việt" -#: InvenTree/locales.py:50 +#: InvenTree/locales.py:51 msgid "Chinese (Simplified)" msgstr "Tiếng Trung (Giản thể)" -#: InvenTree/locales.py:51 +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "Tiếng Trung (Phồn thể)" @@ -444,7 +448,7 @@ msgstr "Bình luận tệp tin" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "Lựa chọn sai" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "Tên của webhook này" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -6510,10 +6514,8 @@ msgid "Choices" msgstr "Lựa chọn" #: part/models.py:3575 -#, fuzzy -#| msgid "Valid choices for this parameter (comma-separated)" msgid "Valid choices for this test (comma-separated)" -msgstr "Lựa chọn hợp lệ từ tham số này (ngăn cách bằng dấu phẩy)" +msgstr "" #: part/models.py:3629 msgid "Checkbox parameters cannot have units" @@ -8154,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "Cấu hình phần bổ sung" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "Cấu hình phần bổ sung" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "Khóa" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "Khóa của phần bổ sung" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "Tên của phần bổ sung" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "Tên gói" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "Là phần bổ sung hoạt động" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "Đã cài đặt" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "Phần bổ sung mẫu" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "Plugin có sẵn" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "Phần bổ sung" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "Phương thức" @@ -8342,11 +8344,11 @@ msgstr "Kích hoạt phần bổ sung" msgid "Activate this plugin" msgstr "Kích hoạt phần bổ sung này" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -8712,10 +8714,8 @@ msgid "Supplier Part ID" msgstr "Sản phẩm nhà cung cấp" #: stock/admin.py:185 -#, fuzzy -#| msgid "Supplier Part" msgid "Supplier Part SKU" -msgstr "Sản phẩm nhà cung cấp" +msgstr "" #: stock/admin.py:190 msgid "Supplier ID" @@ -9079,10 +9079,8 @@ msgid "Attachment must be uploaded for this test" msgstr "Phải tải liên đính kèm cho kiểm thử này" #: stock/models.py:2404 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid value for this test" -msgstr "Giá trị không hợp lệ cho hàng hóa dư thừa" +msgstr "" #: stock/models.py:2428 msgid "Test result" @@ -10938,10 +10936,8 @@ msgid "Scan the QR code below with a token generator of your choice (for instanc msgstr "Quét mã QR bên dưới với bộ sinh mã thông báo mà bạn chọn (cho thực thể Google Authentication)." #: templates/allauth_2fa/setup.html:20 -#, fuzzy -#| msgid "Secret" msgid "Secret: " -msgstr "Bí mật" +msgstr "" #: templates/allauth_2fa/setup.html:24 msgid "Step 2" @@ -14394,3 +14390,4 @@ msgstr "Quyển để sửa mục" #: users/models.py:413 msgid "Permission to delete items" msgstr "Quyền để xóa mục" + diff --git a/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po index 531d2171a6..339c453b06 100644 --- a/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" -"PO-Revision-Date: 2024-06-04 12:40\n" +"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Language: zh_TW\n" @@ -296,46 +296,50 @@ msgid "Portuguese (Brazilian)" msgstr "" #: InvenTree/locales.py:41 -msgid "Russian" +msgid "Romanian" msgstr "" #: InvenTree/locales.py:42 -msgid "Slovak" +msgid "Russian" msgstr "" #: InvenTree/locales.py:43 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: InvenTree/locales.py:44 -msgid "Serbian" +msgid "Slovenian" msgstr "" #: InvenTree/locales.py:45 -msgid "Swedish" +msgid "Serbian" msgstr "" #: InvenTree/locales.py:46 -msgid "Thai" +msgid "Swedish" msgstr "" #: InvenTree/locales.py:47 -msgid "Turkish" +msgid "Thai" msgstr "" #: InvenTree/locales.py:48 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: InvenTree/locales.py:49 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: InvenTree/locales.py:50 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: InvenTree/locales.py:51 +msgid "Chinese (Simplified)" +msgstr "" + +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "" @@ -444,7 +448,7 @@ msgstr "" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -489,7 +493,7 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3463,7 +3467,7 @@ msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -8152,62 +8156,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:181 +#: plugin/models.py:182 msgid "Package Plugin" msgstr "" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "" @@ -8340,11 +8344,11 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" @@ -14386,3 +14390,4 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po index 2409f09f34..96d75fd1a1 100644 --- a/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-09 22:25+0000\n" +"POT-Creation-Date: 2024-06-11 14:05+0000\n" "PO-Revision-Date: 2023-02-28 22:38\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" @@ -311,48 +311,52 @@ msgid "Portuguese (Brazilian)" msgstr "葡萄牙语 (巴西)" #: InvenTree/locales.py:41 +msgid "Romanian" +msgstr "" + +#: InvenTree/locales.py:42 msgid "Russian" msgstr "俄语" -#: InvenTree/locales.py:42 +#: InvenTree/locales.py:43 #, fuzzy #| msgid "Slovenian" msgid "Slovak" msgstr "斯洛文尼亚" -#: InvenTree/locales.py:43 +#: InvenTree/locales.py:44 msgid "Slovenian" msgstr "斯洛文尼亚" -#: InvenTree/locales.py:44 +#: InvenTree/locales.py:45 msgid "Serbian" msgstr "" -#: InvenTree/locales.py:45 +#: InvenTree/locales.py:46 msgid "Swedish" msgstr "瑞典语" -#: InvenTree/locales.py:46 +#: InvenTree/locales.py:47 msgid "Thai" msgstr "泰语" -#: InvenTree/locales.py:47 +#: InvenTree/locales.py:48 msgid "Turkish" msgstr "土耳其语" -#: InvenTree/locales.py:48 +#: InvenTree/locales.py:49 msgid "Ukrainian" msgstr "" -#: InvenTree/locales.py:49 +#: InvenTree/locales.py:50 msgid "Vietnamese" msgstr "越南语" -#: InvenTree/locales.py:50 +#: InvenTree/locales.py:51 msgid "Chinese (Simplified)" msgstr "" -#: InvenTree/locales.py:51 +#: InvenTree/locales.py:52 msgid "Chinese (Traditional)" msgstr "" @@ -463,7 +467,7 @@ msgstr "文件注释" #: common/models.py:2487 common/models.py:2635 common/models.py:2636 #: common/models.py:2881 common/models.py:2882 part/models.py:3219 #: part/models.py:3306 part/models.py:3399 part/models.py:3427 -#: plugin/models.py:259 plugin/models.py:260 +#: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" @@ -508,7 +512,7 @@ msgstr "选择无效" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:50 +#: part/models.py:899 part/models.py:3685 plugin/models.py:51 #: report/models.py:149 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -3609,7 +3613,7 @@ msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 #: machine/models.py:39 part/admin.py:88 part/models.py:1089 -#: plugin/models.py:65 templates/js/translated/company.js:523 +#: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -8626,64 +8630,64 @@ msgstr "打印操作" msgid "Uninstalled plugin successfully" msgstr "安装到组装中" -#: plugin/models.py:35 +#: plugin/models.py:36 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:37 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:42 users/models.py:100 +#: plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:43 +#: plugin/models.py:44 msgid "Key of plugin" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:52 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:58 plugin/serializers.py:90 +#: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:60 +#: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:65 +#: plugin/models.py:66 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:156 templates/js/translated/table_filters.js:370 +#: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:165 +#: plugin/models.py:166 msgid "Sample plugin" msgstr "" -#: plugin/models.py:173 +#: plugin/models.py:174 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:181 +#: plugin/models.py:182 #, fuzzy #| msgid "Packaging" msgid "Package Plugin" msgstr "打包" -#: plugin/models.py:205 report/models.py:474 +#: plugin/models.py:220 report/models.py:474 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:252 +#: plugin/models.py:267 msgid "Method" msgstr "" @@ -8820,13 +8824,13 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:234 +#: plugin/serializers.py:226 #, fuzzy #| msgid "Delete location" msgid "Delete configuration" msgstr "删除仓储地" -#: plugin/serializers.py:235 +#: plugin/serializers.py:227 msgid "Delete the plugin configuration from the database" msgstr "" diff --git a/src/frontend/src/locales/bg/messages.po b/src/frontend/src/locales/bg/messages.po index f1a9f27758..376ad3ecfb 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: 2024-06-09 22:49\n" +"PO-Revision-Date: 2024-06-11 23:03\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 -msgid "Turkish" +msgid "Thai" msgstr "" #: src/contexts/LanguageContext.tsx:49 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: src/contexts/LanguageContext.tsx:50 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: src/contexts/LanguageContext.tsx:51 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" diff --git a/src/frontend/src/locales/cs/messages.po b/src/frontend/src/locales/cs/messages.po index 44c1651cbc..d7f3c3d303 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: 2024-06-09 22:49\n" +"PO-Revision-Date: 2024-06-11 23:03\n" "Last-Translator: \n" "Language-Team: Czech\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "Portugalština (Brazilská)" #: src/contexts/LanguageContext.tsx:43 +msgid "Romanian" +msgstr "" + +#: src/contexts/LanguageContext.tsx:44 msgid "Russian" msgstr "Ruština" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:45 msgid "Slovak" msgstr "Slovenština" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:46 msgid "Slovenian" msgstr "Slovinština" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:47 msgid "Swedish" msgstr "Švédština" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:48 msgid "Thai" msgstr "Thajština" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:49 msgid "Turkish" msgstr "Turečtina" -#: src/contexts/LanguageContext.tsx:49 +#: src/contexts/LanguageContext.tsx:50 msgid "Ukrainian" msgstr "" -#: src/contexts/LanguageContext.tsx:50 +#: src/contexts/LanguageContext.tsx:51 msgid "Vietnamese" msgstr "Vietnamština" -#: src/contexts/LanguageContext.tsx:51 +#: src/contexts/LanguageContext.tsx:52 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:52 +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" diff --git a/src/frontend/src/locales/da/messages.po b/src/frontend/src/locales/da/messages.po index 89e4a92b63..13146a2cf2 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: 2024-06-09 22:50\n" +"PO-Revision-Date: 2024-06-11 23:03\n" "Last-Translator: \n" "Language-Team: Danish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 -msgid "Turkish" +msgid "Thai" msgstr "" #: src/contexts/LanguageContext.tsx:49 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: src/contexts/LanguageContext.tsx:50 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: src/contexts/LanguageContext.tsx:51 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" diff --git a/src/frontend/src/locales/de/messages.po b/src/frontend/src/locales/de/messages.po index c292b4df93..e4ee2c95c8 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: 2024-06-09 22:50\n" +"PO-Revision-Date: 2024-06-11 23:03\n" "Last-Translator: \n" "Language-Team: German\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "Portugiesisch (Brasilien)" #: src/contexts/LanguageContext.tsx:43 +msgid "Romanian" +msgstr "" + +#: src/contexts/LanguageContext.tsx:44 msgid "Russian" msgstr "Russisch" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:45 msgid "Slovak" msgstr "Slowakisch" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:46 msgid "Slovenian" msgstr "Slowenisch" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:47 msgid "Swedish" msgstr "Schwedisch" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:48 msgid "Thai" msgstr "Thailändisch" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:49 msgid "Turkish" msgstr "Türkisch" -#: src/contexts/LanguageContext.tsx:49 +#: src/contexts/LanguageContext.tsx:50 msgid "Ukrainian" msgstr "Ukrainisch" -#: src/contexts/LanguageContext.tsx:50 +#: src/contexts/LanguageContext.tsx:51 msgid "Vietnamese" msgstr "Vietnamesisch" -#: src/contexts/LanguageContext.tsx:51 +#: src/contexts/LanguageContext.tsx:52 msgid "Chinese (Simplified)" msgstr "Chinesisch (vereinfacht)" -#: src/contexts/LanguageContext.tsx:52 +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "Chinesisch (Traditionell)" diff --git a/src/frontend/src/locales/el/messages.po b/src/frontend/src/locales/el/messages.po index 0697794a9e..2239e196dd 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: 2024-06-09 22:50\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Greek\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 -msgid "Turkish" +msgid "Thai" msgstr "" #: src/contexts/LanguageContext.tsx:49 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: src/contexts/LanguageContext.tsx:50 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: src/contexts/LanguageContext.tsx:51 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" diff --git a/src/frontend/src/locales/en/messages.po b/src/frontend/src/locales/en/messages.po index 525e4684c4..b467b8a802 100644 --- a/src/frontend/src/locales/en/messages.po +++ b/src/frontend/src/locales/en/messages.po @@ -1987,42 +1987,46 @@ msgid "Portuguese (Brazilian)" msgstr "Portuguese (Brazilian)" #: src/contexts/LanguageContext.tsx:43 +msgid "Romanian" +msgstr "Romanian" + +#: src/contexts/LanguageContext.tsx:44 msgid "Russian" msgstr "Russian" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:45 msgid "Slovak" msgstr "Slovak" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:46 msgid "Slovenian" msgstr "Slovenian" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:47 msgid "Swedish" msgstr "Swedish" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:48 msgid "Thai" msgstr "Thai" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:49 msgid "Turkish" msgstr "Turkish" -#: src/contexts/LanguageContext.tsx:49 +#: src/contexts/LanguageContext.tsx:50 msgid "Ukrainian" msgstr "Ukrainian" -#: src/contexts/LanguageContext.tsx:50 +#: src/contexts/LanguageContext.tsx:51 msgid "Vietnamese" msgstr "Vietnamese" -#: src/contexts/LanguageContext.tsx:51 +#: src/contexts/LanguageContext.tsx:52 msgid "Chinese (Simplified)" msgstr "Chinese (Simplified)" -#: src/contexts/LanguageContext.tsx:52 +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "Chinese (Traditional)" diff --git a/src/frontend/src/locales/es-mx/messages.po b/src/frontend/src/locales/es-mx/messages.po index 61f0f72db0..76178a0b8a 100644 --- a/src/frontend/src/locales/es-mx/messages.po +++ b/src/frontend/src/locales/es-mx/messages.po @@ -1956,42 +1956,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 -msgid "Turkish" +msgid "Thai" msgstr "" #: src/contexts/LanguageContext.tsx:49 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: src/contexts/LanguageContext.tsx:50 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: src/contexts/LanguageContext.tsx:51 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" diff --git a/src/frontend/src/locales/es/messages.po b/src/frontend/src/locales/es/messages.po index 03c13cc904..fec7be6ef8 100644 --- a/src/frontend/src/locales/es/messages.po +++ b/src/frontend/src/locales/es/messages.po @@ -5,22 +5,22 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: @lingui/cli\n" -"Language: es_MX\n" +"Language: es\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-06-09 22:50\n" +"PO-Revision-Date: 2024-06-12 23:00\n" "Last-Translator: \n" -"Language-Team: Spanish, Mexico\n" +"Language-Team: Spanish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" -"X-Crowdin-Language: es-MX\n" +"X-Crowdin-Language: es-ES\n" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" -msgstr "Error al renderizar componente" +msgstr "Error al procesar el componente" #: src/components/Boundary.tsx:14 msgid "An error occurred while rendering this component. Refer to the console for more information." @@ -28,11 +28,11 @@ msgstr "Ocurrió un error mientras se renderizaba este componente. Consulte la c #: src/components/DashboardItemProxy.tsx:34 msgid "Title" -msgstr "Titulo" +msgstr "Título" #: src/components/buttons/AdminButton.tsx:83 msgid "Open in admin interface" -msgstr "Abrir en interfaz de administrador" +msgstr "Abrir en interfaz de administración" #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" @@ -69,7 +69,7 @@ msgstr "La etiqueta no pudo ser generada" #: src/components/buttons/PrintingActions.tsx:123 msgid "Print Report" -msgstr "Imprimir informe" +msgstr "Imprimir un informe" #: src/components/buttons/PrintingActions.tsx:139 msgid "Report printing completed successfully" @@ -77,7 +77,7 @@ msgstr "Impresión de informe completada con éxito" #: src/components/buttons/PrintingActions.tsx:145 msgid "The report could not be generated" -msgstr "El informe no pudo ser generada" +msgstr "El informe no ha podido ser creado" #: src/components/buttons/PrintingActions.tsx:173 msgid "Printing Actions" @@ -89,7 +89,7 @@ msgstr "Imprimir etiquetas" #: src/components/buttons/PrintingActions.tsx:184 msgid "Print Reports" -msgstr "Imprimir informes" +msgstr "Imprimir reportes" #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" @@ -101,15 +101,15 @@ msgstr "Abrir escáner de código QR" #: src/components/buttons/SpotlightButton.tsx:14 msgid "Open spotlight" -msgstr "" +msgstr "Abrir spotlight" #: src/components/buttons/YesNoButton.tsx:16 msgid "Pass" -msgstr "Aprobado" +msgstr "" #: src/components/buttons/YesNoButton.tsx:17 msgid "Fail" -msgstr "Falló" +msgstr "Fallo" #: src/components/buttons/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 @@ -135,11 +135,11 @@ msgstr "Copiar" #: src/components/details/DetailsImage.tsx:65 msgid "Remove Image" -msgstr "Quitar imagen" +msgstr "Eliminar imagen" #: src/components/details/DetailsImage.tsx:68 msgid "Remove the associated image from this item?" -msgstr "¿Eliminar imagen asociada al artículo?" +msgstr "¿Eliminar la imagen asociada de este elemento?" #: src/components/details/DetailsImage.tsx:71 #: src/forms/StockForms.tsx:483 @@ -164,7 +164,7 @@ msgstr "Cancelar" #: src/components/details/DetailsImage.tsx:97 msgid "Drag and drop to upload" -msgstr "Arrastra y suelta para subir" +msgstr "Arrastrar y soltar para subir" #: src/components/details/DetailsImage.tsx:100 msgid "Click to select file(s)" @@ -179,11 +179,11 @@ msgstr "Borrar" #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" -msgstr "Aceptar" +msgstr "Enviar" #: src/components/details/DetailsImage.tsx:267 msgid "Select from existing images" -msgstr "Seleccionar desde imágenes existentes" +msgstr "Seleccionar de imágenes existentes" #: src/components/details/DetailsImage.tsx:275 msgid "Select Image" @@ -191,19 +191,19 @@ msgstr "Seleccionar imagen" #: src/components/details/DetailsImage.tsx:287 msgid "Upload new image" -msgstr "Subir nueva imagen" +msgstr "Cargar nueva imagen" #: src/components/details/DetailsImage.tsx:294 msgid "Upload Image" -msgstr "Subir Imagen" +msgstr "Cargar Imagen" #: src/components/details/DetailsImage.tsx:307 msgid "Delete image" -msgstr "Eliminar imagen" +msgstr "Borrar imagen" #: src/components/details/PartIcons.tsx:28 msgid "Part is not active" -msgstr "La pieza no está activa" +msgstr "Parte no está activa" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 @@ -215,71 +215,71 @@ msgstr "Inactivo" #: src/components/details/PartIcons.tsx:41 msgid "Part is a template part (variants can be made from this part)" -msgstr "La pieza es una pieza de plantilla (se pueden hacer variantes de esta misma)" +msgstr "La pieza es una pieza de plantilla (las variantes se pueden hacer a partir de esta pieza)" #: src/components/details/PartIcons.tsx:47 msgid "Part can be assembled from other parts" -msgstr "Esta pieza se puede ensamblar utilizando otras partes" +msgstr "La parte puede ser ensamblada desde otras partes" #: src/components/details/PartIcons.tsx:53 msgid "Part can be used in assemblies" -msgstr "Esta pieza se puede usar en ensamblajes" +msgstr "La parte puede ser usada en ensamblajes" #: src/components/details/PartIcons.tsx:59 msgid "Part stock is tracked by serial number" -msgstr "Stock de pieza será rastreado con número de serie" +msgstr "El stock de esta parte está rastreado por número de serie" #: src/components/details/PartIcons.tsx:65 msgid "Part can be purchased from external suppliers" -msgstr "" +msgstr "La parte puede ser comprada de proveedores externos" #: src/components/details/PartIcons.tsx:71 msgid "Part can be sold to customers" -msgstr "" +msgstr "La parte puede ser vendida a clientes" #: src/components/details/PartIcons.tsx:76 msgid "Part is virtual (not a physical part)" -msgstr "" +msgstr "La parte es virtual (no una parte física)" #: src/components/details/PartIcons.tsx:82 #: src/tables/part/PartTable.tsx:234 #: src/tables/part/PartTable.tsx:238 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" -msgstr "" +msgstr "Virtual" #: src/components/editors/NotesEditor.tsx:66 msgid "Image upload failed" -msgstr "" +msgstr "Error al cargar la imagen" #: src/components/editors/NotesEditor.tsx:151 #: src/components/forms/ApiForm.tsx:430 msgid "Success" -msgstr "" +msgstr "Completado" #: src/components/editors/NotesEditor.tsx:152 msgid "Notes saved successfully" -msgstr "" +msgstr "Notas guardadas correctamente" #: src/components/editors/NotesEditor.tsx:161 msgid "Failed to save notes" -msgstr "" +msgstr "Error al guardar las notas" #: src/components/editors/NotesEditor.tsx:193 msgid "Preview Notes" -msgstr "" +msgstr "Previsualizar notas" #: src/components/editors/NotesEditor.tsx:193 msgid "Edit Notes" -msgstr "" +msgstr "Editar notas" #: src/components/editors/NotesEditor.tsx:207 msgid "Save Notes" -msgstr "" +msgstr "Guardar notas" #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" -msgstr "" +msgstr "Código" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 #~ msgid "Failed to parse error response from server." @@ -287,28 +287,28 @@ msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." -msgstr "" +msgstr "Vista previa no disponible, haga clic en \"Recargar vista previa\"." #: src/components/editors/TemplateEditor/PdfPreview/index.tsx:9 msgid "PDF Preview" -msgstr "" +msgstr "Vista previa PDF" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" -msgstr "" +msgstr "Error al cargar la plantilla" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" -msgstr "" +msgstr "Error al guardar la plantilla" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 msgid "Save & Reload Preview" -msgstr "" +msgstr "Guardar y recargar vista previa" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" -msgstr "" +msgstr "¿Está seguro que desea guardar y recargar la vista previa?" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 #~ msgid "Save & Reload preview?" @@ -316,27 +316,27 @@ msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" -msgstr "" +msgstr "Para renderizar la vista previa la plantilla actual necesita ser reemplazada en el servidor con sus modificaciones que pueden romper la etiqueta si está en uso activo. ¿Quieres continuar?" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" -msgstr "" +msgstr "Guardar y recargar" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" -msgstr "" +msgstr "Actualizar vista previa" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." -msgstr "" +msgstr "La vista previa se ha actualizado correctamente." #: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" -msgstr "" +msgstr "Recargar vista previa" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" -msgstr "" +msgstr "Usar la plantilla actualmente almacenada del servidor" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 #~ msgid "Save & Reload preview" @@ -344,7 +344,7 @@ msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" -msgstr "" +msgstr "Guardar la plantilla actual y recargar la vista previa" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 #~ msgid "to preview" @@ -352,16 +352,16 @@ msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 msgid "Select instance to preview" -msgstr "" +msgstr "Seleccione la instancia a previsualizar" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" -msgstr "" +msgstr "Error al renderizar plantilla" #: src/components/forms/ApiForm.tsx:149 #: src/functions/forms.tsx:259 msgid "Form Error" -msgstr "" +msgstr "Error de formulario" #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" @@ -370,7 +370,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:611 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" -msgstr "" +msgstr "Actualizar" #: src/components/forms/ApiForm.tsx:631 #: src/components/items/ActionDropdown.tsx:210 @@ -382,7 +382,7 @@ msgstr "" #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" -msgstr "" +msgstr "Eliminar" #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 @@ -392,11 +392,11 @@ msgstr "" #: src/components/forms/AuthenticationForm.tsx:51 msgid "Login successful" -msgstr "Inicio de sesión exitoso" +msgstr "Inicio de sesión correcto" #: src/components/forms/AuthenticationForm.tsx:52 msgid "Logged in successfully" -msgstr "" +msgstr "Se ha iniciado sesión con éxito" #: src/components/forms/AuthenticationForm.tsx:52 #~ msgid "Welcome back!" @@ -415,7 +415,7 @@ msgstr "Error al iniciar sesión" #: src/components/forms/AuthenticationForm.tsx:211 #: src/functions/auth.tsx:123 msgid "Check your input and try again." -msgstr "" +msgstr "Verifique su entrada e intente nuevamente." #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 @@ -429,7 +429,7 @@ msgstr "Envío de correo exitoso" #: src/components/forms/AuthenticationForm.tsx:71 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." -msgstr "Revisa tu bandeja de entrada para el enlace de inicio de sesión. Si tienes una cuenta, recibirás un enlace de inicio de sesión. Revisa también el correo no deseado." +msgstr "" #: src/components/forms/AuthenticationForm.tsx:75 msgid "Mail delivery failed" @@ -447,7 +447,7 @@ msgstr "Nombre de usuario" #: src/components/forms/AuthenticationForm.tsx:107 #: src/components/forms/AuthenticationForm.tsx:228 msgid "Your username" -msgstr "" +msgstr "Tu nombre de usuario" #: src/components/forms/AuthenticationForm.tsx:112 #: src/components/forms/AuthenticationForm.tsx:240 @@ -480,7 +480,7 @@ msgstr "Correo electrónico" #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:107 msgid "We will send you a link to login - if you are registered" -msgstr "Te enviaremos un enlace para iniciar sesión - si estás registrado" +msgstr "" #: src/components/forms/AuthenticationForm.tsx:136 #~ msgid "I will use username and password" @@ -488,7 +488,7 @@ msgstr "Te enviaremos un enlace para iniciar sesión - si estás registrado" #: src/components/forms/AuthenticationForm.tsx:151 msgid "Send me an email" -msgstr "Envíame un correo electrónico" +msgstr "" #: src/components/forms/AuthenticationForm.tsx:153 msgid "Use username and password" @@ -512,7 +512,7 @@ msgstr "" #: src/components/forms/AuthenticationForm.tsx:210 msgid "Input error" -msgstr "Error de entrada" +msgstr "" #: src/components/forms/AuthenticationForm.tsx:234 msgid "This will be used for a confirmation" @@ -564,11 +564,11 @@ msgstr "" #: src/tables/settings/PendingTasksTable.tsx:26 #: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" -msgstr "Nombre" +msgstr "" #: src/components/forms/HostOptionsForm.tsx:75 msgid "No one here..." -msgstr "Nadie aquí..." +msgstr "" #: src/components/forms/HostOptionsForm.tsx:86 msgid "Add Host" @@ -576,11 +576,11 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 msgid "Save" -msgstr "Guardar" +msgstr "" #: src/components/forms/InstanceOptions.tsx:43 msgid "Select destination instance" -msgstr "Seleccionar instancia de destino" +msgstr "" #: src/components/forms/InstanceOptions.tsx:71 msgid "Edit possible host options" @@ -588,15 +588,15 @@ msgstr "" #: src/components/forms/InstanceOptions.tsx:98 msgid "Version: {0}" -msgstr "Versión: {0}" +msgstr "" #: src/components/forms/InstanceOptions.tsx:100 msgid "API:{0}" -msgstr "API:{0}" +msgstr "" #: src/components/forms/InstanceOptions.tsx:102 msgid "Name: {0}" -msgstr "Nombre: {0}" +msgstr "" #: src/components/forms/InstanceOptions.tsx:104 msgid "State: <0>worker ({0}), <1>plugins{1}" @@ -606,18 +606,18 @@ msgstr "" #: src/pages/Index/Settings/UserSettings.tsx:66 #: src/tables/Search.tsx:23 msgid "Search" -msgstr "" +msgstr "Buscar" #: src/components/forms/fields/RelatedModelField.tsx:321 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" -msgstr "" +msgstr "Cargando" #: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" -msgstr "" +msgstr "No hay resultados" #: src/components/forms/fields/TableField.tsx:50 msgid "modelRenderer entry required for tables" @@ -643,15 +643,15 @@ msgstr "" #: src/components/items/ActionDropdown.tsx:136 msgid "View" -msgstr "" +msgstr "Vista" #: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" -msgstr "" +msgstr "Ver código de barras" #: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" -msgstr "" +msgstr "Vincular Código de Barras" #: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" @@ -728,27 +728,27 @@ msgstr "" #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" -msgstr "" +msgstr "Información de la versión" #: src/components/modals/AboutInvenTreeModal.tsx:103 msgid "Your InvenTree version status is" -msgstr "" +msgstr "El estado de su versión de InvenTree es" #: src/components/modals/AboutInvenTreeModal.tsx:107 msgid "Development Version" -msgstr "" +msgstr "Versión de Desarrollo" #: src/components/modals/AboutInvenTreeModal.tsx:111 msgid "Up to Date" -msgstr "" +msgstr "Actualizado" #: src/components/modals/AboutInvenTreeModal.tsx:115 msgid "Update Available" -msgstr "" +msgstr "Actualización Disponible" #: src/components/modals/AboutInvenTreeModal.tsx:125 msgid "InvenTree Version" -msgstr "" +msgstr "Versión de InvenTree" #: src/components/modals/AboutInvenTreeModal.tsx:131 msgid "Commit Hash" @@ -765,7 +765,7 @@ msgstr "" #: src/components/modals/AboutInvenTreeModal.tsx:146 #: src/components/modals/ServerInfoModal.tsx:133 msgid "API Version" -msgstr "" +msgstr "Versión API" #: src/components/modals/AboutInvenTreeModal.tsx:149 msgid "Python Version" @@ -1286,7 +1286,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" -msgstr "Órdenes de compra" +msgstr "" #: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" @@ -1331,7 +1331,7 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" -msgstr "Ordenes de devolución" +msgstr "" #: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 -msgid "Turkish" +msgid "Thai" msgstr "" #: src/contexts/LanguageContext.tsx:49 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: src/contexts/LanguageContext.tsx:50 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: src/contexts/LanguageContext.tsx:51 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" @@ -2167,7 +2171,7 @@ msgstr "" #: src/defaults/links.tsx:11 #: src/pages/company/CompanyDetail.tsx:92 msgid "Website" -msgstr "Sitio web" +msgstr "" #: src/defaults/links.tsx:16 msgid "GitHub" @@ -2561,7 +2565,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" -msgstr "En Stock" +msgstr "" #: src/forms/StockForms.tsx:449 msgid "Move" @@ -2583,7 +2587,7 @@ msgstr "" #: src/pages/stock/StockDetail.tsx:457 #: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" -msgstr "Agregar" +msgstr "" #: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 @@ -2749,7 +2753,7 @@ msgstr "" #: src/pages/Auth/Login.tsx:87 msgid "Welcome, log in below" -msgstr "Bienvenido, inicia sesión a continuación" +msgstr "" #: src/pages/Auth/Login.tsx:89 msgid "Register below" @@ -3132,7 +3136,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:144 msgid "Primary" -msgstr "Primario" +msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 msgid "Verified" @@ -3396,15 +3400,15 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" -msgstr "Ingresar" +msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" -msgstr "Códigos de barras" +msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" -msgstr "Precios" +msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:118 #~ msgid "Physical Units" @@ -3416,12 +3420,12 @@ msgstr "Precios" #: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" -msgstr "Etiquetas" +msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:148 #: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" -msgstr "Informes" +msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:228 #: src/pages/part/PartDetail.tsx:595 @@ -3435,23 +3439,23 @@ msgstr "" #: src/pages/part/PartDetail.tsx:529 #: src/pages/sales/SalesOrderDetail.tsx:269 msgid "Build Orders" -msgstr "Ordenes de Producción" +msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" -msgstr "Cambiar a Configuración de Usuario" +msgstr "" #: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" -msgstr "Cuenta" +msgstr "" #: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" -msgstr "Seguridad" +msgstr "" #: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" -msgstr "Opciones de visualización" +msgstr "" #: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" @@ -3471,7 +3475,7 @@ msgstr "" #: src/pages/NotFound.tsx:17 msgid "Not Found" -msgstr "No encontrado" +msgstr "" #: src/pages/NotFound.tsx:20 msgid "Sorry, this page is not known or was moved." @@ -3740,7 +3744,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" -msgstr "Proveedor" +msgstr "" #: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 @@ -3767,7 +3771,7 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:168 #: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" -msgstr "Detalles" +msgstr "" #: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" @@ -3826,13 +3830,13 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 #: src/pages/part/PartDetail.tsx:488 msgid "Parameters" -msgstr "Parámetros" +msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 #: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" -msgstr "Proveedores" +msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:190 #: src/tables/purchasing/ManufacturerPartTable.tsx:84 @@ -4083,7 +4087,7 @@ msgstr "" #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" -msgstr "Activo" +msgstr "" #: src/pages/part/PartDetail.tsx:272 msgid "Template Part" @@ -4222,7 +4226,7 @@ msgstr "" #: src/pages/stock/StockDetail.tsx:515 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" -msgstr "En producción" +msgstr "" #: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" @@ -4711,26 +4715,26 @@ msgstr "" #: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" -msgstr "Contar stock" +msgstr "" #: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" -msgstr "Agregar stock" +msgstr "" #: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" -msgstr "Remover stock" +msgstr "" #: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" -msgstr "Transferir" +msgstr "" #: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" -msgstr "Transferir stock" +msgstr "" #: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" @@ -5083,11 +5087,11 @@ msgstr "" #: src/tables/part/PartTable.tsx:192 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" -msgstr "Rastreable" +msgstr "" #: src/tables/bom/UsedInTable.tsx:79 msgid "Show trackable assemblies" -msgstr "Mostrar ensamblajes rastreables" +msgstr "" #: src/tables/build/BuildLineTable.tsx:31 #: src/tables/stock/StockItemTable.tsx:270 @@ -5142,14 +5146,14 @@ msgstr "" #: src/tables/build/BuildOrderTable.tsx:109 msgid "Show active orders" -msgstr "Mostrar órdenes activas" +msgstr "" #: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 #: src/tables/sales/SalesOrderTable.tsx:53 msgid "Filter by order status" -msgstr "Filtrar por estado de la orden" +msgstr "" #: src/tables/build/BuildOrderTable.tsx:121 msgid "Show overdue status" @@ -5268,23 +5272,23 @@ msgstr "" #: src/tables/company/AddressTable.tsx:121 #: src/tables/company/AddressTable.tsx:185 msgid "Add Address" -msgstr "Añadir Dirección" +msgstr "" #: src/tables/company/AddressTable.tsx:126 msgid "Address created" -msgstr "Dirección creada" +msgstr "" #: src/tables/company/AddressTable.tsx:135 msgid "Edit Address" -msgstr "Editar Dirección" +msgstr "" #: src/tables/company/AddressTable.tsx:143 msgid "Delete Address" -msgstr "Eliminar Dirección" +msgstr "" #: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" -msgstr "¿Estás seguro de que deseas eliminar esta dirección?" +msgstr "" #: src/tables/company/CompanyTable.tsx:71 #~ msgid "New Company" @@ -5313,7 +5317,7 @@ msgstr "" #: src/tables/company/ContactTable.tsx:71 msgid "Edit Contact" -msgstr "Editar contacto" +msgstr "" #: src/tables/company/ContactTable.tsx:78 msgid "Add Contact" @@ -5321,23 +5325,23 @@ msgstr "" #: src/tables/company/ContactTable.tsx:89 msgid "Delete Contact" -msgstr "Eliminar contacto" +msgstr "" #: src/tables/company/ContactTable.tsx:129 msgid "Add contact" -msgstr "Agregar contacto" +msgstr "" #: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" -msgstr "Archivo subido" +msgstr "" #: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" -msgstr "Archivo {0} se subió correctamente" +msgstr "" #: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" -msgstr "Error al subir" +msgstr "" #: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" @@ -5662,7 +5666,7 @@ msgstr "" #: src/tables/part/PartTable.tsx:67 msgid "Minimum stock" -msgstr "Stock mínimo" +msgstr "" #: src/tables/part/PartTable.tsx:89 msgid "Build Order Allocations" @@ -6179,11 +6183,11 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272 msgid "Add line item" -msgstr "Añadir Artículo de Línea" +msgstr "" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282 msgid "Receive items" -msgstr "Recibir artículos" +msgstr "" #: src/tables/purchasing/SupplierPartTable.tsx:93 msgid "MPN" @@ -6191,7 +6195,7 @@ msgstr "" #: src/tables/purchasing/SupplierPartTable.tsx:122 msgid "Base units" -msgstr "Unidades base" +msgstr "" #: src/tables/purchasing/SupplierPartTable.tsx:170 msgid "Supplier part created" @@ -6239,11 +6243,11 @@ msgstr "" #: src/tables/settings/CurrencyTable.tsx:28 msgid "Rate" -msgstr "Tarifa" +msgstr "" #: src/tables/settings/CurrencyTable.tsx:40 msgid "Exchange rates updated" -msgstr "Tipos de cambio actualizados" +msgstr "" #: src/tables/settings/CurrencyTable.tsx:46 msgid "Exchange rate update error" @@ -6336,7 +6340,7 @@ msgstr "" #: src/tables/settings/GroupTable.tsx:126 msgid "Delete group" -msgstr "Eliminar grupo" +msgstr "" #: src/tables/settings/GroupTable.tsx:127 msgid "Group deleted" @@ -6349,11 +6353,11 @@ msgstr "" #: src/tables/settings/GroupTable.tsx:134 #: src/tables/settings/GroupTable.tsx:146 msgid "Add group" -msgstr "Agregar grupo" +msgstr "" #: src/tables/settings/GroupTable.tsx:158 msgid "Edit group" -msgstr "Editar grupo" +msgstr "" #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" @@ -6373,7 +6377,7 @@ msgstr "" #: src/tables/settings/ProjectCodeTable.tsx:94 msgid "Add project code" -msgstr "Agregar código de proyecto" +msgstr "" #: src/tables/settings/ScheduledTasksTable.tsx:25 msgid "Last Run" @@ -6507,11 +6511,11 @@ msgstr "" #: src/tables/settings/UserTable.tsx:248 msgid "Added user" -msgstr "Usuario agregado" +msgstr "" #: src/tables/settings/UserTable.tsx:270 msgid "Edit user" -msgstr "Editar usuario" +msgstr "" #: src/tables/stock/LocationTypesTable.tsx:36 #: src/tables/stock/LocationTypesTable.tsx:105 @@ -6859,7 +6863,7 @@ msgstr "" #: src/views/MobileAppView.tsx:31 msgid "Read the docs" -msgstr "Leer la documentación" +msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" diff --git a/src/frontend/src/locales/fa/messages.po b/src/frontend/src/locales/fa/messages.po index 961c2ddb2b..091293cdba 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: 2024-06-09 22:50\n" +"PO-Revision-Date: 2024-06-11 23:05\n" "Last-Translator: \n" "Language-Team: Persian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 -msgid "Turkish" +msgid "Thai" msgstr "" #: src/contexts/LanguageContext.tsx:49 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: src/contexts/LanguageContext.tsx:50 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: src/contexts/LanguageContext.tsx:51 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" diff --git a/src/frontend/src/locales/fi/messages.po b/src/frontend/src/locales/fi/messages.po index 4baee597d5..a565c68908 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: 2024-06-09 22:50\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 -msgid "Turkish" +msgid "Thai" msgstr "" #: src/contexts/LanguageContext.tsx:49 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: src/contexts/LanguageContext.tsx:50 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: src/contexts/LanguageContext.tsx:51 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" diff --git a/src/frontend/src/locales/fr/messages.po b/src/frontend/src/locales/fr/messages.po index 3b7dc51d9b..762ad75d18 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: 2024-06-09 22:49\n" +"PO-Revision-Date: 2024-06-11 23:03\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 +msgid "Thai" +msgstr "" + +#: src/contexts/LanguageContext.tsx:49 msgid "Turkish" msgstr "Turc" -#: src/contexts/LanguageContext.tsx:49 +#: src/contexts/LanguageContext.tsx:50 msgid "Ukrainian" msgstr "" -#: src/contexts/LanguageContext.tsx:50 +#: src/contexts/LanguageContext.tsx:51 msgid "Vietnamese" msgstr "Vietnamien" -#: src/contexts/LanguageContext.tsx:51 +#: src/contexts/LanguageContext.tsx:52 msgid "Chinese (Simplified)" msgstr "Chinois (Simplifié)" -#: src/contexts/LanguageContext.tsx:52 +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "Chinois (Traditionnel)" diff --git a/src/frontend/src/locales/he/messages.po b/src/frontend/src/locales/he/messages.po index 4700354972..8c0eac159a 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: 2024-06-09 22:50\n" +"PO-Revision-Date: 2024-06-11 23:04\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" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 -msgid "Turkish" +msgid "Thai" msgstr "" #: src/contexts/LanguageContext.tsx:49 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: src/contexts/LanguageContext.tsx:50 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: src/contexts/LanguageContext.tsx:51 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" diff --git a/src/frontend/src/locales/hi/messages.po b/src/frontend/src/locales/hi/messages.po index 635584d84d..edfc1da858 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: 2024-06-09 22:50\n" +"PO-Revision-Date: 2024-06-11 23:05\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 -msgid "Turkish" +msgid "Thai" msgstr "" #: src/contexts/LanguageContext.tsx:49 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: src/contexts/LanguageContext.tsx:50 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: src/contexts/LanguageContext.tsx:51 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" diff --git a/src/frontend/src/locales/hu/messages.po b/src/frontend/src/locales/hu/messages.po index f3af4a9aef..07c17d6111 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: 2024-06-09 22:50\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "Portugál (Brazíliai)" #: src/contexts/LanguageContext.tsx:43 +msgid "Romanian" +msgstr "" + +#: src/contexts/LanguageContext.tsx:44 msgid "Russian" msgstr "Orosz" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:45 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:46 msgid "Slovenian" msgstr "Szlovén" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:47 msgid "Swedish" msgstr "Svéd" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:48 msgid "Thai" msgstr "Tháj" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:49 msgid "Turkish" msgstr "Török" -#: src/contexts/LanguageContext.tsx:49 +#: src/contexts/LanguageContext.tsx:50 msgid "Ukrainian" msgstr "" -#: src/contexts/LanguageContext.tsx:50 +#: src/contexts/LanguageContext.tsx:51 msgid "Vietnamese" msgstr "Vietnámi" -#: src/contexts/LanguageContext.tsx:51 +#: src/contexts/LanguageContext.tsx:52 msgid "Chinese (Simplified)" msgstr "Kínai (egyszerűsített)" -#: src/contexts/LanguageContext.tsx:52 +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "Kínai (Hagyományos)" diff --git a/src/frontend/src/locales/id/messages.po b/src/frontend/src/locales/id/messages.po index 893f81bcd7..33ca1c1218 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: 2024-06-09 22:50\n" +"PO-Revision-Date: 2024-06-11 23:05\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 -msgid "Turkish" +msgid "Thai" msgstr "" #: src/contexts/LanguageContext.tsx:49 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: src/contexts/LanguageContext.tsx:50 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: src/contexts/LanguageContext.tsx:51 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" diff --git a/src/frontend/src/locales/it/messages.po b/src/frontend/src/locales/it/messages.po index 41cab5a28f..fbfd48bba9 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: 2024-06-09 22:50\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Italian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 -msgid "Turkish" +msgid "Thai" msgstr "" #: src/contexts/LanguageContext.tsx:49 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: src/contexts/LanguageContext.tsx:50 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: src/contexts/LanguageContext.tsx:51 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" diff --git a/src/frontend/src/locales/ja/messages.po b/src/frontend/src/locales/ja/messages.po index 02f44eaa77..8c8f671e0e 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: 2024-06-09 22:50\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 -msgid "Turkish" +msgid "Thai" msgstr "" #: src/contexts/LanguageContext.tsx:49 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: src/contexts/LanguageContext.tsx:50 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: src/contexts/LanguageContext.tsx:51 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" diff --git a/src/frontend/src/locales/ko/messages.po b/src/frontend/src/locales/ko/messages.po index 647f31f33f..afc0119a8a 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: 2024-06-09 22:50\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Korean\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 -msgid "Turkish" +msgid "Thai" msgstr "" #: src/contexts/LanguageContext.tsx:49 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: src/contexts/LanguageContext.tsx:50 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: src/contexts/LanguageContext.tsx:51 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" diff --git a/src/frontend/src/locales/lv/messages.po b/src/frontend/src/locales/lv/messages.po index 84d17d0deb..989c4bda59 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: 2024-06-09 22:50\n" +"PO-Revision-Date: 2024-06-11 23:05\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" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 -msgid "Turkish" +msgid "Thai" msgstr "" #: src/contexts/LanguageContext.tsx:49 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: src/contexts/LanguageContext.tsx:50 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: src/contexts/LanguageContext.tsx:51 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" diff --git a/src/frontend/src/locales/nl/messages.po b/src/frontend/src/locales/nl/messages.po index d1f10d1bfe..baf74a62bd 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: 2024-06-09 22:50\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 -msgid "Turkish" +msgid "Thai" msgstr "" #: src/contexts/LanguageContext.tsx:49 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: src/contexts/LanguageContext.tsx:50 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: src/contexts/LanguageContext.tsx:51 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" diff --git a/src/frontend/src/locales/no/messages.po b/src/frontend/src/locales/no/messages.po index 6e5a933b4a..d45d27107b 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: 2024-06-09 22:50\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "Portugisisk (Brasil)" #: src/contexts/LanguageContext.tsx:43 +msgid "Romanian" +msgstr "" + +#: src/contexts/LanguageContext.tsx:44 msgid "Russian" msgstr "Russisk" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:45 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:46 msgid "Slovenian" msgstr "Slovensk" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:47 msgid "Swedish" msgstr "Svensk" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:48 msgid "Thai" msgstr "Thailandsk" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:49 msgid "Turkish" msgstr "Tyrkisk" -#: src/contexts/LanguageContext.tsx:49 +#: src/contexts/LanguageContext.tsx:50 msgid "Ukrainian" msgstr "" -#: src/contexts/LanguageContext.tsx:50 +#: src/contexts/LanguageContext.tsx:51 msgid "Vietnamese" msgstr "Vietnamesisk" -#: src/contexts/LanguageContext.tsx:51 +#: src/contexts/LanguageContext.tsx:52 msgid "Chinese (Simplified)" msgstr "Kinesisk (forenklet)" -#: src/contexts/LanguageContext.tsx:52 +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "Kinesisk (tradisjonell)" diff --git a/src/frontend/src/locales/pl/messages.po b/src/frontend/src/locales/pl/messages.po index b2fb49b58b..2e02a7ad7b 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: 2024-06-09 22:50\n" +"PO-Revision-Date: 2024-06-11 23:04\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" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 -msgid "Turkish" +msgid "Thai" msgstr "" #: src/contexts/LanguageContext.tsx:49 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: src/contexts/LanguageContext.tsx:50 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: src/contexts/LanguageContext.tsx:51 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" diff --git a/src/frontend/src/locales/pseudo-LOCALE/messages.po b/src/frontend/src/locales/pseudo-LOCALE/messages.po index 9fc7d7f771..2638a02b02 100644 --- a/src/frontend/src/locales/pseudo-LOCALE/messages.po +++ b/src/frontend/src/locales/pseudo-LOCALE/messages.po @@ -2031,42 +2031,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 -msgid "Turkish" +msgid "Thai" msgstr "" #: src/contexts/LanguageContext.tsx:49 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: src/contexts/LanguageContext.tsx:50 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: src/contexts/LanguageContext.tsx:51 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" diff --git a/src/frontend/src/locales/pt-br/messages.po b/src/frontend/src/locales/pt-br/messages.po index 5b4d46d7f5..2e5ebad238 100644 --- a/src/frontend/src/locales/pt-br/messages.po +++ b/src/frontend/src/locales/pt-br/messages.po @@ -1956,42 +1956,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 -msgid "Turkish" +msgid "Thai" msgstr "" #: src/contexts/LanguageContext.tsx:49 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: src/contexts/LanguageContext.tsx:50 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: src/contexts/LanguageContext.tsx:51 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" diff --git a/src/frontend/src/locales/pt/messages.po b/src/frontend/src/locales/pt/messages.po index 00457111b0..1f2865e445 100644 --- a/src/frontend/src/locales/pt/messages.po +++ b/src/frontend/src/locales/pt/messages.po @@ -8,13 +8,13 @@ msgstr "" "Language: pt\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-06-09 22:50\n" +"PO-Revision-Date: 2024-06-12 23:00\n" "Last-Translator: \n" -"Language-Team: Portuguese, Brazilian\n" +"Language-Team: Portuguese\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" -"X-Crowdin-Language: pt-BR\n" +"X-Crowdin-Language: pt-PT\n" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" @@ -24,7 +24,7 @@ msgstr "Erro ao renderizar componente" #: src/components/Boundary.tsx:14 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." +msgstr "Ocorreu um erro ao renderizar este componente. Consulte o console para obter mais informações." #: src/components/DashboardItemProxy.tsx:34 msgid "Title" @@ -32,7 +32,7 @@ msgstr "Título" #: src/components/buttons/AdminButton.tsx:83 msgid "Open in admin interface" -msgstr "Abrir na página de administrador" +msgstr "Abrir na interface de administrador" #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" @@ -40,11 +40,11 @@ msgstr "Copiar para área de transferência" #: src/components/buttons/PrintingActions.tsx:95 msgid "Print Label" -msgstr "Imprimir etiqueta" +msgstr "Imprimir Etiqueta" #: src/components/buttons/PrintingActions.tsx:101 msgid "Label printing completed successfully" -msgstr "Impressão de etiqueta finalizada com sucesso" +msgstr "Impressão de etiquetas concluída com sucesso" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 @@ -65,7 +65,7 @@ msgstr "Erro" #: src/components/buttons/PrintingActions.tsx:108 msgid "The label could not be generated" -msgstr "A etiqueta não pode ser gerada" +msgstr "A etiqueta não pôde ser gerada" #: src/components/buttons/PrintingActions.tsx:123 msgid "Print Report" @@ -73,15 +73,15 @@ msgstr "Imprimir Relatório" #: src/components/buttons/PrintingActions.tsx:139 msgid "Report printing completed successfully" -msgstr "Impressão de relatório finalizado com sucesso" +msgstr "Impressão de relatório concluída com sucesso" #: src/components/buttons/PrintingActions.tsx:145 msgid "The report could not be generated" -msgstr "O relatório não pode ser gerado" +msgstr "O relatório não pôde ser gerado" #: src/components/buttons/PrintingActions.tsx:173 msgid "Printing Actions" -msgstr "Ações de Impressão" +msgstr "Opções de Impressão" #: src/components/buttons/PrintingActions.tsx:178 msgid "Print Labels" @@ -93,7 +93,7 @@ msgstr "Imprimir Relatórios" #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" -msgstr "Escanear código QR" +msgstr "Ler código QR" #: src/components/buttons/ScanButton.tsx:20 msgid "Open QR code scanner" @@ -101,15 +101,15 @@ msgstr "Abrir leitor de código QR" #: src/components/buttons/SpotlightButton.tsx:14 msgid "Open spotlight" -msgstr "Abrir spotlight" +msgstr "Abrir Destaques" #: src/components/buttons/YesNoButton.tsx:16 msgid "Pass" -msgstr "Aprovado" +msgstr "Aprovar" #: src/components/buttons/YesNoButton.tsx:17 msgid "Fail" -msgstr "Reprovado" +msgstr "Falhou" #: src/components/buttons/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 @@ -123,11 +123,11 @@ msgstr "Não" #: src/components/details/Details.tsx:303 msgid "No name defined" -msgstr "Sem nome definido" +msgstr "Nenhum nome definido" #: src/components/details/Details.tsx:340 msgid "Copied" -msgstr "Copiada" +msgstr "Copiado" #: src/components/details/Details.tsx:340 msgid "Copy" @@ -135,11 +135,11 @@ msgstr "Copiar" #: src/components/details/DetailsImage.tsx:65 msgid "Remove Image" -msgstr "Remover Imagem" +msgstr "Remover imagem" #: src/components/details/DetailsImage.tsx:68 msgid "Remove the associated image from this item?" -msgstr "Remover imagem associada a este item?" +msgstr "Remover a imagem associada a este item?" #: src/components/details/DetailsImage.tsx:71 #: src/forms/StockForms.tsx:483 @@ -147,7 +147,7 @@ msgstr "Remover imagem associada a este item?" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 #: src/pages/stock/StockDetail.tsx:465 msgid "Remove" -msgstr "Remover" +msgstr "Eliminar" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 @@ -164,7 +164,7 @@ msgstr "Cancelar" #: src/components/details/DetailsImage.tsx:97 msgid "Drag and drop to upload" -msgstr "Arraste e solte para carregar" +msgstr "Arraste e solte para carregar ficheiro" #: src/components/details/DetailsImage.tsx:100 msgid "Click to select file(s)" @@ -172,7 +172,7 @@ msgstr "Clique para selecionar o(s) arquivo(s)" #: src/components/details/DetailsImage.tsx:224 msgid "Clear" -msgstr "Limpar" +msgstr "Apagar" #: src/components/details/DetailsImage.tsx:227 #: src/components/forms/ApiForm.tsx:573 @@ -183,7 +183,7 @@ msgstr "Enviar" #: src/components/details/DetailsImage.tsx:267 msgid "Select from existing images" -msgstr "Selecionar de imagens existentes" +msgstr "Selecionar uma imagem existente" #: src/components/details/DetailsImage.tsx:275 msgid "Select Image" @@ -195,15 +195,15 @@ msgstr "Carregar nova imagem" #: src/components/details/DetailsImage.tsx:294 msgid "Upload Image" -msgstr "Enviar Imagem" +msgstr "Carregar Imagem" #: src/components/details/DetailsImage.tsx:307 msgid "Delete image" -msgstr "Excluir imagem" +msgstr "Eliminar imagem" #: src/components/details/PartIcons.tsx:28 msgid "Part is not active" -msgstr "Peça inativa" +msgstr "A peça não está ativa" #: src/components/details/PartIcons.tsx:34 #: src/components/render/Plugin.tsx:17 @@ -215,7 +215,7 @@ msgstr "Inativo" #: src/components/details/PartIcons.tsx:41 msgid "Part is a template part (variants can be made from this part)" -msgstr "Esta é uma peça modelo (as variantes podem ser feitas a partir desta peça)" +msgstr "A peça é um modelo (as variantes podem ser feitas a partir desta parte)" #: src/components/details/PartIcons.tsx:47 msgid "Part can be assembled from other parts" @@ -227,19 +227,19 @@ msgstr "Peça pode ser usada em montagens" #: src/components/details/PartIcons.tsx:59 msgid "Part stock is tracked by serial number" -msgstr "Peça em estoque é controlada por número de série" +msgstr "“Item” de \"stock\" é controlada por número de série" #: src/components/details/PartIcons.tsx:65 msgid "Part can be purchased from external suppliers" -msgstr "Peça pode ser comprada de fornecedores externos" +msgstr "Peça pode ser comprada a fornecedores externos" #: src/components/details/PartIcons.tsx:71 msgid "Part can be sold to customers" -msgstr "Peça pode ser vendida a clientes" +msgstr "Peça pode ser vendida aos clientes" #: src/components/details/PartIcons.tsx:76 msgid "Part is virtual (not a physical part)" -msgstr "Peça é virtual (não é física)" +msgstr "A peça é virtual (não é uma peça física)" #: src/components/details/PartIcons.tsx:82 #: src/tables/part/PartTable.tsx:234 @@ -250,7 +250,7 @@ msgstr "Virtual" #: src/components/editors/NotesEditor.tsx:66 msgid "Image upload failed" -msgstr "" +msgstr "Falha no carregamento da imagem" #: src/components/editors/NotesEditor.tsx:151 #: src/components/forms/ApiForm.tsx:430 @@ -259,23 +259,23 @@ msgstr "Sucesso" #: src/components/editors/NotesEditor.tsx:152 msgid "Notes saved successfully" -msgstr "" +msgstr "Notas guardadas com sucesso" #: src/components/editors/NotesEditor.tsx:161 msgid "Failed to save notes" -msgstr "Falha em salvar notas" +msgstr "Falha ao guardar notas" #: src/components/editors/NotesEditor.tsx:193 msgid "Preview Notes" -msgstr "" +msgstr "Pré-visualizar notas" #: src/components/editors/NotesEditor.tsx:193 msgid "Edit Notes" -msgstr "" +msgstr "Editar notas" #: src/components/editors/NotesEditor.tsx:207 msgid "Save Notes" -msgstr "" +msgstr "Gravar notas" #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" @@ -287,28 +287,28 @@ msgstr "Código" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." -msgstr "Pré-visualização indisponível, clique em \"Recarregar Pré-visualização\"." +msgstr "Pré-visualização não disponível, clique em \"Recarregar Pré-visualização\"." #: src/components/editors/TemplateEditor/PdfPreview/index.tsx:9 msgid "PDF Preview" -msgstr "Visualizar PDF" +msgstr "Pré-visualização de PDF" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" -msgstr "Erro ao carregar template" +msgstr "Erro ao carregar modelo" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" -msgstr "Erro ao salvar o template" +msgstr "Erro a guardar o modelo" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 msgid "Save & Reload Preview" -msgstr "Salvar e Recarregar Prévia" +msgstr "Guardar & Recarregar a pré-visualização" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" -msgstr "Tem certeza de que deseja salvar e recarregar a visualização?" +msgstr "Tem certeza de que deseja Guardar & Recarregar a pré-visualização?" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 #~ msgid "Save & Reload preview?" @@ -316,27 +316,28 @@ msgstr "Tem certeza de que deseja salvar e recarregar a visualização?" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" -msgstr "Para renderizar a prévia, o modelo atual necessita ser substituído, no servidor, com suas modificações, que podem levar a quebra da etiqueta caso a etiqueta esteja sendo utilizada de forma ativa. Você deseja prosseguir?" +msgstr "Para ver esta pré-visualização o modelo atual precisa ser substituído no servidor com as suas modificações, o que pode fazer com que \n" +"o modelo atual deixe de funcionar. Deseja continuar?" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" -msgstr "Salvar & Recarregar" +msgstr "Guardar & Recarregar" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" -msgstr "Visualizar Atualização" +msgstr "Pré-visualização atualizada" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." -msgstr "A pré-visualização foi atualizado com sucesso." +msgstr "A pré-visualização foi atualizada com sucesso." #: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" -msgstr "Recarregar pré-visualização" +msgstr "Atualizar pré-visualização" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" -msgstr "Use o modelo armazenado atualmente no servidor" +msgstr "Utilizar o modelo guardado atualmente no servidor" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 #~ msgid "Save & Reload preview" @@ -344,7 +345,7 @@ msgstr "Use o modelo armazenado atualmente no servidor" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" -msgstr "Salvar o modelo atual e recarregar a pré-visualização" +msgstr "Salvar o modelo atual e recarregar a visualização" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 #~ msgid "to preview" @@ -352,16 +353,16 @@ msgstr "Salvar o modelo atual e recarregar a pré-visualização" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 msgid "Select instance to preview" -msgstr "Selecione a instância para pré-visualizar" +msgstr "Selecionar instância para pré-visualização" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" -msgstr "Erro ao carregar template" +msgstr "Erro ao renderizar modelo" #: src/components/forms/ApiForm.tsx:149 #: src/functions/forms.tsx:259 msgid "Form Error" -msgstr "Erro no formulário" +msgstr "Erro de formulário" #: src/components/forms/ApiForm.tsx:487 #~ msgid "Form Errors Exist" @@ -382,7 +383,7 @@ msgstr "Atualizar" #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" -msgstr "Excluir" +msgstr "Eliminar" #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 @@ -392,11 +393,11 @@ msgstr "Excluir" #: src/components/forms/AuthenticationForm.tsx:51 msgid "Login successful" -msgstr "Acesso bem-sucedido" +msgstr "Inicio de sessão com sucesso" #: src/components/forms/AuthenticationForm.tsx:52 msgid "Logged in successfully" -msgstr "Login realizado com sucesso!" +msgstr "Sessão iniciada com sucesso" #: src/components/forms/AuthenticationForm.tsx:52 #~ msgid "Welcome back!" @@ -408,14 +409,14 @@ msgstr "Login realizado com sucesso!" #: src/components/forms/AuthenticationForm.tsx:58 msgid "Login failed" -msgstr "Falha ao acessar" +msgstr "Não foi possível iniciar a sessão" #: src/components/forms/AuthenticationForm.tsx:59 #: src/components/forms/AuthenticationForm.tsx:76 #: src/components/forms/AuthenticationForm.tsx:211 #: src/functions/auth.tsx:123 msgid "Check your input and try again." -msgstr "Verifique sua entrada e tente novamente." +msgstr "Verifique suas informações e tente novamente." #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 @@ -425,45 +426,45 @@ msgstr "Verifique sua entrada e tente novamente." #: src/components/forms/AuthenticationForm.tsx:70 #: src/functions/auth.tsx:114 msgid "Mail delivery successful" -msgstr "Envio de e-mail concluído" +msgstr "Envio bem sucedido" #: src/components/forms/AuthenticationForm.tsx:71 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." -msgstr "Verifique sua caixa de entrada para o link de acesso. Se você tiver uma conta, você receberá um link de acesso. Também verifique o spam." +msgstr "Verifique na sua caixa de correio o link de login. Se tiver uma conta, irá receber um link de login. Verifique também a caixa de spam." #: src/components/forms/AuthenticationForm.tsx:75 msgid "Mail delivery failed" -msgstr "Envio de email falhou" +msgstr "Falha na entrega de e-mail" #: src/components/forms/AuthenticationForm.tsx:95 msgid "Or continue with other methods" -msgstr "Ou continue com outros métodos" +msgstr "Ou continuar com outros métodos" #: src/components/forms/AuthenticationForm.tsx:106 #: src/components/forms/AuthenticationForm.tsx:227 msgid "Username" -msgstr "Nome de usuário" +msgstr "Nome de utilizador" #: src/components/forms/AuthenticationForm.tsx:107 #: src/components/forms/AuthenticationForm.tsx:228 msgid "Your username" -msgstr "Seu nome de usuário" +msgstr "O seu nome de utilizador" #: src/components/forms/AuthenticationForm.tsx:112 #: src/components/forms/AuthenticationForm.tsx:240 #: src/pages/Auth/Set-Password.tsx:106 msgid "Password" -msgstr "Senha" +msgstr "Palavra-chave" #: src/components/forms/AuthenticationForm.tsx:113 #: src/components/forms/AuthenticationForm.tsx:241 msgid "Your password" -msgstr "Sua senha" +msgstr "A sua palavra-passe" #: src/components/forms/AuthenticationForm.tsx:125 #: src/pages/Auth/Reset.tsx:26 msgid "Reset password" -msgstr "Redefinir senha" +msgstr "Redefinir palavra-passe" #: src/components/forms/AuthenticationForm.tsx:131 #~ msgid "Log in" @@ -474,13 +475,13 @@ msgstr "Redefinir senha" #: src/pages/Auth/Reset.tsx:31 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" -msgstr "Email" +msgstr "E-mail" #: src/components/forms/AuthenticationForm.tsx:135 #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:107 msgid "We will send you a link to login - if you are registered" -msgstr "Enviaremos um link para fazer o acesso - se você estiver registrado" +msgstr "Enviaremos um link para fazer o login - se você está registrado" #: src/components/forms/AuthenticationForm.tsx:136 #~ msgid "I will use username and password" @@ -488,23 +489,23 @@ msgstr "Enviaremos um link para fazer o acesso - se você estiver registrado" #: src/components/forms/AuthenticationForm.tsx:151 msgid "Send me an email" -msgstr "Me envie um e-mail" +msgstr "Envie-me uma mensagem de correio electrónico" #: src/components/forms/AuthenticationForm.tsx:153 msgid "Use username and password" -msgstr "Usar nome de usuário e senha" +msgstr "Nome de usuário e senha" #: src/components/forms/AuthenticationForm.tsx:162 msgid "Log In" -msgstr "Entrar" +msgstr "Iniciar Sessão" #: src/components/forms/AuthenticationForm.tsx:164 msgid "Send Email" -msgstr "Enviar E-mail" +msgstr "Enviar e-mail" #: src/components/forms/AuthenticationForm.tsx:193 msgid "Registration successful" -msgstr "Cadastrado com sucesso" +msgstr "Registo efectuado com sucesso" #: src/components/forms/AuthenticationForm.tsx:194 msgid "Please confirm your email address to complete the registration" @@ -524,12 +525,12 @@ msgstr "Repetir senha" #: src/components/forms/AuthenticationForm.tsx:247 msgid "Repeat password" -msgstr "Repita a senha" +msgstr "Repetir senha" #: src/components/forms/AuthenticationForm.tsx:259 #: src/components/forms/AuthenticationForm.tsx:304 msgid "Register" -msgstr "Registrar" +msgstr "Registar" #: src/components/forms/AuthenticationForm.tsx:265 msgid "Or use SSO" @@ -537,11 +538,11 @@ msgstr "Ou use SSO" #: src/components/forms/AuthenticationForm.tsx:296 msgid "Don't have an account?" -msgstr "Não possui uma conta?" +msgstr "Não possui conta?\n" #: src/components/forms/AuthenticationForm.tsx:315 msgid "Go back to login" -msgstr "Voltar ao login" +msgstr "Voltar para o Login" #: src/components/forms/HostOptionsForm.tsx:36 #: src/components/forms/HostOptionsForm.tsx:67 @@ -568,11 +569,11 @@ msgstr "Nome" #: src/components/forms/HostOptionsForm.tsx:75 msgid "No one here..." -msgstr "Ninguém aqui..." +msgstr "Não há ninguém aqui..." #: src/components/forms/HostOptionsForm.tsx:86 msgid "Add Host" -msgstr "Adicionar Host" +msgstr "Adicionar Servidor" #: src/components/forms/HostOptionsForm.tsx:90 msgid "Save" @@ -584,7 +585,7 @@ msgstr "Selecionar instância de destino" #: src/components/forms/InstanceOptions.tsx:71 msgid "Edit possible host options" -msgstr "Editar possíveis opções de servidor" +msgstr "Editar opções de host possíveis" #: src/components/forms/InstanceOptions.tsx:98 msgid "Version: {0}" @@ -600,7 +601,7 @@ msgstr "Nome: {0}" #: src/components/forms/InstanceOptions.tsx:104 msgid "State: <0>worker ({0}), <1>plugins{1}" -msgstr "Estado: <0>funcionário ({0}), <1>extensões{1}" +msgstr "Estado: <0>funcionário ({0}), <1>plugins{1}" #: src/components/forms/fields/RelatedModelField.tsx:320 #: src/pages/Index/Settings/UserSettings.tsx:66 @@ -613,7 +614,7 @@ msgstr "Buscar" #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" -msgstr "Carregando" +msgstr "A carregar" #: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" @@ -621,11 +622,11 @@ msgstr "Nenhum resultado encontrado" #: src/components/forms/fields/TableField.tsx:50 msgid "modelRenderer entry required for tables" -msgstr "entrada modelRenderer necessária para tabelas" +msgstr "entrada do modelRenderer necessária para tabelas" #: src/components/forms/fields/TableField.tsx:74 msgid "No entries available" -msgstr "Não há itens disponíveis" +msgstr "Nenhuma entrada disponível" #: src/components/images/DetailsImage.tsx:252 #~ msgid "Select image" @@ -651,7 +652,7 @@ msgstr "Ver código de barras" #: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" -msgstr "Vincular Código de Barras" +msgstr "Atribuir Código de Barras" #: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" @@ -660,7 +661,7 @@ msgstr "Vincular código de barras personalizado" #: src/components/items/ActionDropdown.tsx:170 #: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" -msgstr "Desvincular Código de Barras" +msgstr "Desatribuir Código de Barras" #: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" @@ -673,7 +674,7 @@ msgstr "Editar" #: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" -msgstr "Apagar item" +msgstr "Apagar Item" #: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 @@ -686,7 +687,7 @@ msgstr "Duplicar item" #: src/components/items/DocTooltip.tsx:92 msgid "Read More" -msgstr "Leia Mais" +msgstr "Mais informações" #: src/components/items/ErrorItem.tsx:5 #: src/tables/InvenTreeTable.tsx:443 @@ -695,11 +696,11 @@ msgstr "Erro desconhecido" #: src/components/items/ErrorItem.tsx:10 msgid "An error occurred:" -msgstr "Um erro ocorreu:" +msgstr "Ocorreu um erro:" #: src/components/items/GettingStartedCarousel.tsx:27 msgid "Read more" -msgstr "Ler mais" +msgstr "Saber mais" #: src/components/items/InfoItem.tsx:27 msgid "None" @@ -707,16 +708,16 @@ msgstr "Nenhum" #: src/components/items/InvenTreeLogo.tsx:23 msgid "InvenTree Logo" -msgstr "Logotipo InvenTree" +msgstr "Logotipo do InvenTree" #: src/components/items/OnlyStaff.tsx:9 #: src/components/modals/AboutInvenTreeModal.tsx:44 msgid "This information is only available for staff users" -msgstr "Esta informação só está disponível para usuários da equipe" +msgstr "Esta informação está disponível apenas para utilizadores da equipa" #: src/components/items/Placeholder.tsx:14 msgid "This feature/button/site is a placeholder for a feature that is not implemented, only partial or intended for testing." -msgstr "Este recurso/botão/site é um supositório para um recurso que não está implementado, somente parcial ou destinado a testes." +msgstr "Esta funcionalidade/botão/site é um espaço reservado para um recurso que ainda não está total ou parcialmente implementado, ou destinado a testes." #: src/components/items/Placeholder.tsx:17 msgid "PLH" @@ -728,11 +729,11 @@ msgstr "Este painel é um espaço reservado." #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" -msgstr "Informações da Versão" +msgstr "Informação da versão" #: src/components/modals/AboutInvenTreeModal.tsx:103 msgid "Your InvenTree version status is" -msgstr "Sua versão do InvenTree é" +msgstr "A versão do seu InvenTree é" #: src/components/modals/AboutInvenTreeModal.tsx:107 msgid "Development Version" @@ -760,7 +761,7 @@ msgstr "Data do Commit" #: src/components/modals/AboutInvenTreeModal.tsx:141 msgid "Commit Branch" -msgstr "Ramo do Commit" +msgstr "Commit Branch" #: src/components/modals/AboutInvenTreeModal.tsx:146 #: src/components/modals/ServerInfoModal.tsx:133 @@ -777,7 +778,7 @@ msgstr "Versão do Django" #: src/components/modals/AboutInvenTreeModal.tsx:162 msgid "Links" -msgstr "Links" +msgstr "Ligações" #: src/components/modals/AboutInvenTreeModal.tsx:168 msgid "InvenTree Documentation" @@ -785,7 +786,7 @@ msgstr "Documentação do InvenTree" #: src/components/modals/AboutInvenTreeModal.tsx:169 msgid "View Code on GitHub" -msgstr "Veja o código no GitHub" +msgstr "Ver código no GitHub" #: src/components/modals/AboutInvenTreeModal.tsx:170 msgid "Credits" @@ -793,15 +794,15 @@ msgstr "Créditos" #: src/components/modals/AboutInvenTreeModal.tsx:171 msgid "Mobile App" -msgstr "Aplicativo para celular" +msgstr "Aplicação móvel" #: src/components/modals/AboutInvenTreeModal.tsx:172 msgid "Submit Bug Report" -msgstr "Enviar Relatório de Erro" +msgstr "Submeter Relatório de Erro" #: src/components/modals/AboutInvenTreeModal.tsx:183 msgid "Copy version information" -msgstr "Copiar informações da versão" +msgstr "Copiar informação da versão" #: src/components/modals/AboutInvenTreeModal.tsx:192 #: src/components/modals/ServerInfoModal.tsx:147 @@ -822,7 +823,7 @@ msgstr "Carregando informações da licença" #: src/components/modals/LicenseModal.tsx:77 msgid "Failed to fetch license information" -msgstr "Falha ao obter informações da licença" +msgstr "Falha ao buscar informações da licença" #: src/components/modals/LicenseModal.tsx:85 msgid "{key} Packages" @@ -835,12 +836,12 @@ msgstr "Resposta desconhecida" #: src/components/modals/QrCodeModal.tsx:102 #: src/pages/Index/Scan.tsx:636 msgid "Error while getting camera" -msgstr "Erro ao obter a câmera" +msgstr "Erro ao carregar a câmera" #: src/components/modals/QrCodeModal.tsx:125 #: src/pages/Index/Scan.tsx:659 msgid "Error while scanning" -msgstr "Erro ao escanear" +msgstr "Erro ao digitalizar" #: src/components/modals/QrCodeModal.tsx:139 #: src/pages/Index/Scan.tsx:673 @@ -851,35 +852,35 @@ msgstr "Erro ao parar" #: src/defaults/menuItems.tsx:21 #: src/pages/Index/Scan.tsx:746 msgid "Scanning" -msgstr "Escaneando" +msgstr "Digitalizar" #: src/components/modals/QrCodeModal.tsx:154 #: src/pages/Index/Scan.tsx:746 msgid "Not scanning" -msgstr "Não está escaneando" +msgstr "Não digitalizar" #: src/components/modals/QrCodeModal.tsx:159 #: src/pages/Index/Scan.tsx:752 msgid "Select Camera" -msgstr "Selecionar Camera" +msgstr "Selecionar câmara" #: src/components/modals/QrCodeModal.tsx:169 #: src/pages/Index/Scan.tsx:737 msgid "Start scanning" -msgstr "Começar a escanear" +msgstr "Iniciar a digitalização" #: src/components/modals/QrCodeModal.tsx:176 #: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" -msgstr "Parar escaneamento" +msgstr "Parar a digitalização" #: src/components/modals/QrCodeModal.tsx:181 msgid "No scans yet!" -msgstr "Ainda não há escaneamentos!" +msgstr "Ainda não há digitalizações!" #: src/components/modals/QrCodeModal.tsx:201 msgid "Close modal" -msgstr "Fechar o modal" +msgstr "Fechar diálogo" #: src/components/modals/ServerInfoModal.tsx:26 #: src/pages/Index/Settings/SystemSettings.tsx:36 @@ -888,11 +889,11 @@ msgstr "Servidor" #: src/components/modals/ServerInfoModal.tsx:32 msgid "Instance Name" -msgstr "Nome da Instância" +msgstr "Nome da instância" #: src/components/modals/ServerInfoModal.tsx:38 msgid "Database" -msgstr "Banco de Dados" +msgstr "Base de dados" #: src/components/modals/ServerInfoModal.tsx:38 #~ msgid "Bebug Mode" @@ -904,7 +905,7 @@ msgstr "Modo de depuração" #: src/components/modals/ServerInfoModal.tsx:50 msgid "Server is running in debug mode" -msgstr "Servidor está em execução em modo de depuração" +msgstr "O servidor está em execução no modo de depuração" #: src/components/modals/ServerInfoModal.tsx:57 msgid "Docker Mode" @@ -912,23 +913,23 @@ msgstr "Modo Docker" #: src/components/modals/ServerInfoModal.tsx:60 msgid "Server is deployed using docker" -msgstr "O servidor está implantado usando o docker" +msgstr "Servidor implementado usando o Docker" #: src/components/modals/ServerInfoModal.tsx:66 msgid "Plugin Support" -msgstr "Suporte a Plugins" +msgstr "Suporte a Extensões" #: src/components/modals/ServerInfoModal.tsx:71 msgid "Plugin support enabled" -msgstr "Suporte a plugin habilitado" +msgstr "Suporte a extensões habilitado" #: src/components/modals/ServerInfoModal.tsx:73 msgid "Plugin support disabled" -msgstr "Suporte a plugin desabilitado" +msgstr "Suporte de extensão desativado" #: src/components/modals/ServerInfoModal.tsx:80 msgid "Server status" -msgstr "Estado do servidor" +msgstr "Estado do Servidor" #: src/components/modals/ServerInfoModal.tsx:86 msgid "Healthy" @@ -940,11 +941,11 @@ msgstr "Problemas detectados" #: src/components/modals/ServerInfoModal.tsx:97 msgid "Background Worker" -msgstr "Trabalhador em Segundo Plano" +msgstr "Trabalhador em segundo plano" #: src/components/modals/ServerInfoModal.tsx:101 msgid "Background worker not running" -msgstr "Trabalhador em segundo plano não está funcionando" +msgstr "Trabalhador de fundo não está em execução" #: src/components/modals/ServerInfoModal.tsx:109 msgid "Email Settings" @@ -952,7 +953,7 @@ msgstr "Configurações de Email" #: src/components/modals/ServerInfoModal.tsx:113 msgid "Email settings not configured" -msgstr "Email não configurado" +msgstr "Configurações de e-mail não configuradas" #: src/components/modals/ServerInfoModal.tsx:121 #: src/tables/plugin/PluginListTable.tsx:144 @@ -962,12 +963,12 @@ msgstr "Versão" #: src/components/modals/ServerInfoModal.tsx:127 msgid "Server Version" -msgstr "Versão do servidor" +msgstr "Versão do Servidor" #: src/components/nav/Layout.tsx:70 #: src/tables/part/PartThumbTable.tsx:194 msgid "Search..." -msgstr "Buscar..." +msgstr "Pesquisa..." #: src/components/nav/Layout.tsx:73 msgid "Nothing found..." @@ -986,13 +987,13 @@ msgstr "Configurações" #: src/components/nav/MainMenu.tsx:49 #: src/defaults/menuItems.tsx:15 msgid "Account settings" -msgstr "Configurações de conta" +msgstr "Configurações da conta" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 #: src/pages/Index/Settings/SystemSettings.tsx:300 msgid "System Settings" -msgstr "Configurações do Sistema" +msgstr "Definições de Sistema" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 @@ -1010,16 +1011,16 @@ msgstr "Centro de Administração" #: src/components/nav/MainMenu.tsx:77 msgid "Logout" -msgstr "Sair" +msgstr "Encerrar sessão" #: src/components/nav/NavHoverMenu.tsx:65 #: src/defaults/actions.tsx:58 msgid "Open Navigation" -msgstr "Abrir Navegação" +msgstr "Abrir a navegação" #: src/components/nav/NavHoverMenu.tsx:84 msgid "View all" -msgstr "Visualizar Tudo" +msgstr "Ver tudo" #: src/components/nav/NavHoverMenu.tsx:100 #: src/components/nav/NavHoverMenu.tsx:110 @@ -1063,7 +1064,7 @@ msgstr "Notificações" #: src/components/nav/NotificationDrawer.tsx:95 msgid "You have no unread notifications." -msgstr "Você não tem notificações não lidas." +msgstr "Não tem novas notificações" #: src/components/nav/NotificationDrawer.tsx:111 #: src/components/nav/NotificationDrawer.tsx:117 @@ -1074,7 +1075,7 @@ msgstr "Notificação" #: src/components/nav/NotificationDrawer.tsx:140 #: src/pages/Notifications.tsx:73 msgid "Mark as read" -msgstr "Marcar como lido" +msgstr "Marcar como lida" #: src/components/nav/SearchDrawer.tsx:77 msgid "results" @@ -1082,11 +1083,11 @@ msgstr "resultados" #: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" -msgstr "Digite o texto de pesquisa" +msgstr "Introduzir texto de pesquisa" #: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" -msgstr "Opções de pesquisa" +msgstr "Opções de Pesquisa" #: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" @@ -1094,15 +1095,15 @@ msgstr "Busca por Regex" #: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" -msgstr "Pesquisa de palavras inteira" +msgstr "Pesquisar palavras inteiras" #: src/components/nav/SearchDrawer.tsx:416 msgid "An error occurred during search query" -msgstr "Ocorreu um erro durante a pesquisa" +msgstr "Ocorreu um erro durante a busca" #: src/components/nav/SearchDrawer.tsx:427 msgid "No results" -msgstr "Nenhum resultado" +msgstr "Sem resultados" #: src/components/nav/SearchDrawer.tsx:430 msgid "No results available for search query" @@ -1142,19 +1143,19 @@ msgstr "Peças" #: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" -msgstr "Modelo de Parâmetro de Peça" +msgstr "Modelo de Parâmetro da Peça" #: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" -msgstr "Modelos de Parâmetro de Peça" +msgstr "Modelos de Parâmetro da Peça" #: src/components/render/ModelType.tsx:38 msgid "Part Test Template" -msgstr "Modelo de Teste de Peça" +msgstr "Modelos de Teste da Peça" #: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" -msgstr "Teste de Modelos de Peças" +msgstr "Modelos de Teste da Peça" #: src/components/render/ModelType.tsx:45 #: src/pages/company/SupplierPartDetail.tsx:190 @@ -1166,7 +1167,7 @@ msgstr "Fornecedor da Peça" #: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" -msgstr "Peças do Fornecedor" +msgstr "Peças de fornecedor" #: src/components/render/ModelType.tsx:54 #: src/pages/company/ManufacturerPartDetail.tsx:125 @@ -1175,12 +1176,12 @@ msgstr "Fabricante da peça" #: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" -msgstr "Peças do Fabricante" +msgstr "Peças do fabricante" #: src/components/render/ModelType.tsx:63 #: src/pages/part/CategoryDetail.tsx:291 msgid "Part Category" -msgstr "Categoria da Peça" +msgstr "Categoria da peça" #: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:165 @@ -1188,13 +1189,13 @@ msgstr "Categoria da Peça" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/PartDetail.tsx:827 msgid "Part Categories" -msgstr "Categorias de Peça" +msgstr "Categorias da Peça" #: src/components/render/ModelType.tsx:72 #: src/pages/stock/StockDetail.tsx:563 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" -msgstr "Item de estoque" +msgstr "Item de Estoque" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:199 @@ -1206,48 +1207,48 @@ msgstr "Itens de Estoque" #: src/components/render/ModelType.tsx:81 msgid "Stock Location" -msgstr "Localização do estoque" +msgstr "Localização de Stock" #: src/components/render/ModelType.tsx:82 #: src/pages/stock/LocationDetail.tsx:185 #: src/pages/stock/LocationDetail.tsx:361 #: src/pages/stock/StockDetail.tsx:555 msgid "Stock Locations" -msgstr "Locais de estoque" +msgstr "Localizações de Stock" #: src/components/render/ModelType.tsx:90 msgid "Stock Location Type" -msgstr "Tipo de Localização de Estoque" +msgstr "Tipo de Local de Estoque" #: src/components/render/ModelType.tsx:91 msgid "Stock Location Types" -msgstr "Tipos de Localização de Estoque" +msgstr "Tipo de Local de Estoque" #: src/components/render/ModelType.tsx:95 msgid "Stock History" -msgstr "Histórico de estoque" +msgstr "Histórico de Estoque" #: src/components/render/ModelType.tsx:96 msgid "Stock Histories" -msgstr "Históricos de estoque" +msgstr "Histórico de Estoque" #: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" -msgstr "Produzir" +msgstr "Produção" #: src/components/render/ModelType.tsx:101 msgid "Builds" -msgstr "Compilações" +msgstr "Produções" #: src/components/render/ModelType.tsx:109 msgid "Build Line" -msgstr "Linha de Produção" +msgstr "Linha de produção" #: src/components/render/ModelType.tsx:110 msgid "Build Lines" -msgstr "Linhas de Produção" +msgstr "Linhas de produção" #: src/components/render/ModelType.tsx:117 #: src/pages/company/CompanyDetail.tsx:327 @@ -1265,12 +1266,12 @@ msgstr "Empresas" #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:61 msgid "Project Code" -msgstr "Código do Projeto" +msgstr "Código do projeto" #: src/components/render/ModelType.tsx:127 #: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" -msgstr "Códigos de Projeto" +msgstr "Códigos do Projeto" #: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 @@ -1290,11 +1291,11 @@ msgstr "Pedidos de compra" #: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" -msgstr "Linha do Pedido de Compra" +msgstr "Pedido de compra da linha" #: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" -msgstr "Linhas do Pedido de Compra" +msgstr "Pedido de compra das linhas" #: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 @@ -1314,11 +1315,11 @@ msgstr "Pedidos de vendas" #: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" -msgstr "Envio do Pedido Venda" +msgstr "Envio do Pedido de Venda" #: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" -msgstr "Envios do Pedido Venda" +msgstr "Envios dos Pedidos de Vendas" #: src/components/render/ModelType.tsx:163 #: src/pages/sales/ReturnOrderDetail.tsx:327 @@ -1367,13 +1368,13 @@ msgstr "Proprietários" #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" -msgstr "Usuário" +msgstr "Utilizador" #: src/components/render/ModelType.tsx:194 #: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" -msgstr "Usuários" +msgstr "Utilizadores" #: src/components/render/ModelType.tsx:200 msgid "Label Template" @@ -1386,24 +1387,24 @@ msgstr "Modelos de Etiqueta" #: src/components/render/ModelType.tsx:207 msgid "Report Template" -msgstr "Modelo de Relatório" +msgstr "Modelo de relatório" #: src/components/render/ModelType.tsx:208 #: src/pages/Index/Settings/AdminCenter/Index.tsx:141 msgid "Report Templates" -msgstr "Modelos de Relatório" +msgstr "Modelos de relatório" #: src/components/render/ModelType.tsx:214 msgid "Plugin Configuration" -msgstr "Configuração de Plugin" +msgstr "Configuração de Extensão" #: src/components/render/ModelType.tsx:215 msgid "Plugin Configurations" -msgstr "Configurações de Plugins" +msgstr "Configurações de Extensões" #: src/components/render/Order.tsx:104 msgid "Shipment" -msgstr "Remessa" +msgstr "Envios" #: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 @@ -1443,16 +1444,16 @@ msgstr "Quantidade" #: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" -msgstr "Editar configurações" +msgstr "Editar Configurações" #: src/components/settings/SettingList.tsx:78 #: src/components/settings/SettingList.tsx:108 msgid "Setting {0} updated successfully" -msgstr "Configuração {0} atualizada com sucesso" +msgstr "Definição {0} atualizada com sucesso" #: src/components/settings/SettingList.tsx:107 msgid "Setting updated" -msgstr "Configurações atualizadas" +msgstr "Definição atualizada" #: src/components/settings/SettingList.tsx:117 msgid "Error editing setting" @@ -1839,12 +1840,12 @@ msgstr "Nenhuma configuração especificada" #: src/components/widgets/DisplayWidget.tsx:11 #: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" -msgstr "Configurações de tela" +msgstr "Definições de Exibição" #: src/components/widgets/DisplayWidget.tsx:15 #: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" -msgstr "Modo de cores" +msgstr "Modo de Cor" #: src/components/widgets/DisplayWidget.tsx:21 #: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 @@ -1853,19 +1854,19 @@ msgstr "Idioma" #: src/components/widgets/FeedbackWidget.tsx:19 msgid "Something is new: Platform UI" -msgstr "Algo novo: Interface da Plataforma" +msgstr "Algo é novo: Interface de Plataforma" #: src/components/widgets/FeedbackWidget.tsx:21 msgid "We are building a new UI with a modern stack. What you currently see is not fixed and will be redesigned but demonstrates the UI/UX possibilities we will have going forward." -msgstr "Estamos construindo uma nova interface moderna de usuário. O que você vê no momento não foi corrigido e será redesenhado, mas demonstra as possibilidades de UI/UX que teremos adiante." +msgstr "Estamos construindo uma nova interface do usuário mais moderno. O que você vê atualmente não está completo e será redesenhado, mas demonstra as possibilidades de UI/UX que teremos adiante." #: src/components/widgets/FeedbackWidget.tsx:32 msgid "Provide Feedback" -msgstr "Forneça Avaliação" +msgstr "Fornecer comentários" #: src/components/widgets/GetStartedWidget.tsx:11 msgid "Getting started" -msgstr "Iniciando" +msgstr "Introdução" #: src/components/widgets/MarkdownEditor.tsx:108 #~ msgid "Failed to upload image" @@ -1881,7 +1882,7 @@ msgstr "Disposição" #: src/components/widgets/WidgetLayout.tsx:172 msgid "Reset Layout" -msgstr "Redefinir Disposição" +msgstr "Redefinir disposição" #: src/components/widgets/WidgetLayout.tsx:185 msgid "Stop Edit" @@ -1889,15 +1890,15 @@ msgstr "Parar Edição" #: src/components/widgets/WidgetLayout.tsx:185 msgid "Edit Layout" -msgstr "Editar Disposição" +msgstr "Editar disposição" #: src/components/widgets/WidgetLayout.tsx:191 msgid "Appearance" -msgstr "Aparência" +msgstr "Aspecto" #: src/components/widgets/WidgetLayout.tsx:203 msgid "Show Boxes" -msgstr "Mostrar Caixas" +msgstr "Exibir Caixas" #: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" @@ -1905,7 +1906,7 @@ msgstr "Búlgaro" #: src/contexts/LanguageContext.tsx:21 msgid "Czech" -msgstr "Tcheco" +msgstr "Checo" #: src/contexts/LanguageContext.tsx:22 msgid "Danish" @@ -1981,53 +1982,57 @@ msgstr "Norueguês" #: src/contexts/LanguageContext.tsx:40 msgid "Polish" -msgstr "Polonês" +msgstr "Polaco" #: src/contexts/LanguageContext.tsx:41 msgid "Portuguese" -msgstr "Português" +msgstr "Português (Portugal)" #: src/contexts/LanguageContext.tsx:42 msgid "Portuguese (Brazilian)" msgstr "Português (Brasileiro)" #: src/contexts/LanguageContext.tsx:43 +msgid "Romanian" +msgstr "Romeno" + +#: src/contexts/LanguageContext.tsx:44 msgid "Russian" msgstr "Russo" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:45 msgid "Slovak" msgstr "Eslovaco" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:46 msgid "Slovenian" msgstr "Esloveno" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:47 msgid "Swedish" msgstr "Sueco" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:48 msgid "Thai" msgstr "Tailandês" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:49 msgid "Turkish" msgstr "Turco" -#: src/contexts/LanguageContext.tsx:49 +#: src/contexts/LanguageContext.tsx:50 msgid "Ukrainian" msgstr "Ucraniano" -#: src/contexts/LanguageContext.tsx:50 +#: src/contexts/LanguageContext.tsx:51 msgid "Vietnamese" msgstr "Vietnamita" -#: src/contexts/LanguageContext.tsx:51 +#: src/contexts/LanguageContext.tsx:52 msgid "Chinese (Simplified)" msgstr "Chinês (Simplificado)" -#: src/contexts/LanguageContext.tsx:52 +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "Chinês (Tradicional)" @@ -2043,15 +2048,15 @@ msgstr "Início" #: src/pages/Index/Dashboard.tsx:19 #: src/pages/Index/Settings/UserSettings.tsx:42 msgid "Dashboard" -msgstr "Painel de Controle" +msgstr "Painel de controlo" #: src/defaults/actions.tsx:24 msgid "Go to the InvenTree dashboard" -msgstr "Ir para o Dashboard do InvenTree" +msgstr "Ir para o painel do InvenTree" #: src/defaults/actions.tsx:31 msgid "Visit the documentation to learn more about InvenTree" -msgstr "Visite a documentação para aprender mais sobre o InvenTree" +msgstr "Visite a documentação para saber mais sobre o InvenTree" #: src/defaults/actions.tsx:37 #: src/defaults/links.tsx:92 @@ -2076,12 +2081,12 @@ msgstr "Sobre esta instância do Inventree" #: src/defaults/actions.tsx:51 #: src/defaults/links.tsx:105 msgid "License Information" -msgstr "Informações de Licença" +msgstr "Informações de licença" #: src/defaults/actions.tsx:52 #: src/defaults/links.tsx:129 msgid "Licenses for dependencies of the service" -msgstr "Licenças para dependências de serviços" +msgstr "Licenças para as dependências do serviço" #: src/defaults/actions.tsx:59 msgid "Open the main navigation menu" @@ -2089,23 +2094,23 @@ msgstr "Abrir o menu de navegação principal" #: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" -msgstr "Peças inscritas" +msgstr "Peças Subscritas" #: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" -msgstr "Categorias Inscritas" +msgstr "Categorias Subscritas" #: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" -msgstr "Peças mais recentes" +msgstr "Peças Recentes" #: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" -msgstr "LDM Aguardando Validação" +msgstr "BOM Aguardando Validação" #: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" -msgstr "Atualizados Recentemente" +msgstr "Atualizado Recentemente" #: src/defaults/dashboardItems.tsx:50 #: src/tables/part/PartTable.tsx:216 @@ -2134,7 +2139,7 @@ msgstr "Pedido de Produção em Progresso" #: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" -msgstr "Pedido de produção atrasado" +msgstr "Pedidos de Produção Vencidos" #: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" @@ -2142,7 +2147,7 @@ msgstr "Pedidos de Compra Pendentes" #: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" -msgstr "Pedido de Compra Vencido" +msgstr "Pedidos de Compra Pendentes" #: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" @@ -2167,7 +2172,7 @@ msgstr "Notícias Atuais" #: src/defaults/links.tsx:11 #: src/pages/company/CompanyDetail.tsx:92 msgid "Website" -msgstr "Página Web" +msgstr "Site" #: src/defaults/links.tsx:16 msgid "GitHub" @@ -2201,11 +2206,11 @@ msgstr "Vendas" #: src/defaults/menuItems.tsx:71 #: src/pages/Index/Playground.tsx:238 msgid "Playground" -msgstr "Área de testes" +msgstr "Parquinho" #: src/defaults/links.tsx:49 msgid "Getting Started" -msgstr "Primeiros passos" +msgstr "Guia de Introdução" #: src/defaults/links.tsx:50 msgid "Getting started with InvenTree" @@ -2217,7 +2222,7 @@ msgstr "API" #: src/defaults/links.tsx:57 msgid "InvenTree API documentation" -msgstr "Documentação de API do InvenTree" +msgstr "Documentação da API InvenTree" #: src/defaults/links.tsx:62 msgid "Developer Manual" @@ -2225,11 +2230,11 @@ msgstr "Manual do Desenvolvedor" #: src/defaults/links.tsx:63 msgid "InvenTree developer manual" -msgstr "Manual do desenvolvedor InvenTree" +msgstr "Manual do Desenvolvedor InvenTree" #: src/defaults/links.tsx:68 msgid "FAQ" -msgstr "FAQ" +msgstr "Perguntas Frequentes" #: src/defaults/links.tsx:69 msgid "Frequently asked questions" @@ -2282,7 +2287,7 @@ msgstr "Licenças" #: src/defaults/menuItems.tsx:17 msgid "User attributes and design settings." -msgstr "Atributos de usuário e configurações de design." +msgstr "Atributos do usuário e configurações de design." #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" @@ -2294,7 +2299,7 @@ msgstr "Atributos de usuário e configurações de design." #: src/defaults/menuItems.tsx:23 msgid "View for interactive scanning and multiple actions." -msgstr "Visualização para varredura interativa e várias ações." +msgstr "Visualização para varredura interativa e múltiplas ações." #: src/defaults/menuItems.tsx:24 #~ msgid "The fluid of Smeargle’s tail secretions changes in the intensity" @@ -2378,11 +2383,11 @@ msgstr "Próximo número de série" #: src/forms/BuildForms.tsx:150 msgid "Latest serial number" -msgstr "Último número de série" +msgstr "Número de Série mais recente" #: src/forms/BuildForms.tsx:222 msgid "Remove output" -msgstr "Remover a saída" +msgstr "Remover Saída" #: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" @@ -2390,20 +2395,20 @@ msgstr "Concluir Saídas de Produção" #: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" -msgstr "Saídas de produção foram completadas" +msgstr "O Pedido de produção foi concluído" #: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" -msgstr "Sucatear Saídas de Produção" +msgstr "Cancelar Saída de Produção" #: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" -msgstr "Saídas de produção foram sucateadas" +msgstr "Os Pedidos de produção foram cancelados" #: src/forms/BuildForms.tsx:413 #: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" -msgstr "Cancelar Saídas de Produção" +msgstr "Cancelar Saída de Produção" #: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" @@ -2411,7 +2416,7 @@ msgstr "Saídas de produção selecionadas serão apagadas" #: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" -msgstr "Saídas de produção foram canceladas" +msgstr "Os Pedidos de produção foram cancelados" #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" @@ -2419,7 +2424,7 @@ msgstr "Saídas de produção foram canceladas" #: src/forms/PartForms.tsx:100 msgid "Parent part category" -msgstr "Categoria de peça parental" +msgstr "Categoria parente da peça" #: src/forms/PartForms.tsx:106 #~ msgid "Create Part" @@ -2435,7 +2440,7 @@ msgstr "Categoria de peça parental" #: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" -msgstr "Escolher local" +msgstr "Escolher Localização" #: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" @@ -2447,7 +2452,7 @@ msgstr "Localização padrão da categoria de peça selecionada" #: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" -msgstr "Localização do estoque recebida selecionada" +msgstr "Localização do estoque recebido selecionada" #: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" @@ -2460,7 +2465,7 @@ msgstr "Ler Código de Barras" #: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" -msgstr "Definir Localização" +msgstr "Definir localização" #: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" @@ -2468,7 +2473,7 @@ msgstr "Atribuir Código em Lote{0}" #: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" -msgstr "Alterar Status" +msgstr "Alterar Estado" #: src/forms/PurchaseOrderForms.tsx:407 #: src/forms/StockForms.tsx:392 @@ -2504,7 +2509,7 @@ msgstr "Armazenar com estoque já recebido" #: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" -msgstr "Excluir Itens de Linha" +msgstr "Receber item de linha" #: src/forms/PurchaseOrderForms.tsx:658 #~ msgid "Receive line items" @@ -2512,7 +2517,7 @@ msgstr "Excluir Itens de Linha" #: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" -msgstr "Adicionar quantidade dada como pacotes e não itens individuais" +msgstr "Adicionar quantidade dada como pacotes em vez de itens individuais" #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" @@ -2520,7 +2525,7 @@ msgstr "Adicionar quantidade dada como pacotes e não itens individuais" #: src/forms/StockForms.tsx:114 msgid "Enter initial quantity for this stock item" -msgstr "Inserir quantidade inicial deste item de estoque" +msgstr "Digite a quantidade inicial para este item de estoque" #: src/forms/StockForms.tsx:121 msgid "Serial Numbers" @@ -2528,7 +2533,7 @@ msgstr "Números de Série" #: src/forms/StockForms.tsx:122 msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "Insira o número de série para novo estoque (ou deixe em branco)" +msgstr "Insira os números de série para novo estoque (ou deixe em branco)" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" @@ -2539,11 +2544,11 @@ msgstr "Insira o número de série para novo estoque (ou deixe em branco)" #: src/tables/stock/StockItemTable.tsx:382 #: src/tables/stock/StockItemTable.tsx:499 msgid "Add Stock Item" -msgstr "Adicionar Item do Estoque" +msgstr "Adicionar item de Estoque" #: src/forms/StockForms.tsx:339 msgid "Loading..." -msgstr "Carregando..." +msgstr "A carregar..." #: src/forms/StockForms.tsx:381 msgid "Move to default location" @@ -2611,19 +2616,19 @@ msgstr "Contar Estoque" #: src/forms/StockForms.tsx:821 msgid "Change Stock Status" -msgstr "Mudar estado do estoque" +msgstr "Alterar estado do Estoque" #: src/forms/StockForms.tsx:830 msgid "Merge Stock" -msgstr "Mesclar estoque" +msgstr "Mesclar Estoque" #: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" -msgstr "Excluir Item de Estoque" +msgstr "Excluir Itens de Estoque" #: src/forms/StockForms.tsx:856 msgid "Parent stock location" -msgstr "Local de estoque pai" +msgstr "Localização parente de Estoque" #: src/functions/auth.tsx:34 #~ msgid "Error fetching token from server." @@ -2647,20 +2652,20 @@ msgstr "Local de estoque pai" #: src/functions/auth.tsx:76 msgid "Logged Out" -msgstr "Desconectado" +msgstr "Sessão terminada" #: src/functions/auth.tsx:77 msgid "Successfully logged out" -msgstr "Deslogado com sucesso" +msgstr "Sessão terminada com sucesso" #: src/functions/auth.tsx:115 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." -msgstr "Verifique sua caixa de entrada para o link de redefinição. Isso só funciona se você tiver uma conta. Cheque no spam também." +msgstr "Verifique a sua caixa de entrada com um link para redefinir. Isso só funciona se você já tiver uma conta. Cheque no também no spam." #: src/functions/auth.tsx:122 #: src/pages/Auth/Set-Password.tsx:39 msgid "Reset failed" -msgstr "A redefinação falhou" +msgstr "Falha ao redefinir" #: src/functions/auth.tsx:141 #~ msgid "Already logged in" @@ -2676,11 +2681,11 @@ msgstr "A redefinação falhou" #: src/functions/auth.tsx:153 msgid "Logged In" -msgstr "Logado" +msgstr "Sessão Iniciada" #: src/functions/auth.tsx:154 msgid "Successfully logged in" -msgstr "Logado com sucesso" +msgstr "Sessão iniciada com êxito" #: src/functions/forms.tsx:50 #~ msgid "Form method not provided" @@ -2704,15 +2709,15 @@ msgstr "Não implementado" #: src/functions/notifications.tsx:11 msgid "This feature is not yet implemented" -msgstr "Esta função ainda não foi implementada" +msgstr "Este recurso ainda não foi implementado" #: src/functions/notifications.tsx:21 msgid "Permission denied" -msgstr "Permissão negada" +msgstr "Permissão recusada" #: src/functions/notifications.tsx:22 msgid "You do not have permission to perform this action" -msgstr "Você não tem permissão para realizar esta ação" +msgstr "Não tem permissões para efetuar esta ação" #: src/functions/notifications.tsx:33 msgid "Invalid Return Code" @@ -2720,7 +2725,7 @@ msgstr "Código de retorno inválido" #: src/functions/notifications.tsx:34 msgid "Server returned status {returnCode}" -msgstr "O servidor retornou o estado {returnCode}" +msgstr "O servidor retornou o status {returnCode}" #: src/hooks/UseForm.tsx:88 msgid "Item Created" @@ -2732,28 +2737,28 @@ msgstr "Item Atualizado" #: src/hooks/UseForm.tsx:124 msgid "Item Deleted" -msgstr "Item Excluído" +msgstr "Item Eliminado" #: src/hooks/UseForm.tsx:128 msgid "Are you sure you want to delete this item?" -msgstr "Tem certeza que deseja remover este item?" +msgstr "Tem certeza de que deseja excluir este item?" #: src/pages/Auth/Logged-In.tsx:23 msgid "Checking if you are already logged in" -msgstr "Checando se você já está conectado" +msgstr "Verificando se você já fez login" #: src/pages/Auth/Login.tsx:31 #: src/pages/Index/Scan.tsx:329 msgid "No selection" -msgstr "Nada selecionado" +msgstr "Nenhuma seleção" #: src/pages/Auth/Login.tsx:87 msgid "Welcome, log in below" -msgstr "Bem-vindo(a), acesse abaixo" +msgstr "Bem-vindo, faça o login abaixo" #: src/pages/Auth/Login.tsx:89 msgid "Register below" -msgstr "Registre-se abaixo" +msgstr "Registrar abaixo" #: src/pages/Auth/Login.tsx:121 #~ msgid "Edit host options" @@ -2761,12 +2766,12 @@ msgstr "Registre-se abaixo" #: src/pages/Auth/Logout.tsx:23 msgid "Logging out" -msgstr "Desconectando" +msgstr "Terminando a sessão" #: src/pages/Auth/Reset.tsx:41 #: src/pages/Auth/Set-Password.tsx:112 msgid "Send mail" -msgstr "Enviar e-mail" +msgstr "Enviar Mensagem" #: src/pages/Auth/Set-Password.tsx:30 msgid "Token invalid" @@ -2778,23 +2783,23 @@ msgstr "Você precisa fornecer um token válido para definir uma nova senha. Ver #: src/pages/Auth/Set-Password.tsx:49 msgid "No token provided" -msgstr "Nenhum token fornecido" +msgstr "Nenhum Token fornecido" #: src/pages/Auth/Set-Password.tsx:50 msgid "You need to provide a token to set a new password. Check your inbox for a reset link." -msgstr "Você precisa fornecer um token para definir uma nova senha. Verifique sua caixa de entrada para um link de redefinição." +msgstr "Você precisa fornecer um Token válido para definir uma nova senha. Verifique a sua caixa de entrada para um link de redefinição." #: src/pages/Auth/Set-Password.tsx:73 msgid "Password set" -msgstr "Senha definida" +msgstr "Palavra-passe definida" #: src/pages/Auth/Set-Password.tsx:74 msgid "The password was set successfully. You can now login with your new password" -msgstr "Sua senha foi alterada com sucesso. Agora você pode acessar usando sua nova senha" +msgstr "A senha foi definida com sucesso. Você agora pode fazer login com sua nova senha" #: src/pages/Auth/Set-Password.tsx:101 msgid "Set new password" -msgstr "Defina uma nova senha" +msgstr "Definir nova palavra-passe" #: src/pages/ErrorPage.tsx:17 msgid "Error: {0}" @@ -2806,7 +2811,7 @@ msgstr "Desculpe, ocorreu um erro inesperado." #: src/pages/Index/Dashboard.tsx:22 msgid "Autoupdate" -msgstr "Atualizar automaticamente" +msgstr "Atualização automática" #: src/pages/Index/Dashboard.tsx:26 msgid "This page is a replacement for the old start page with the same information. This page will be deprecated and replaced by the home page." @@ -2814,11 +2819,11 @@ msgstr "Esta página é uma substituição para a página inicial antiga com as #: src/pages/Index/Home.tsx:58 msgid "Welcome to your Dashboard{0}" -msgstr "Bem-vindo ao seu painel{0}" +msgstr "Bem-vindo ao seu Painel{0}" #: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." -msgstr "Esta página é uma demonstração para as possibilidades da interface de plataforma." +msgstr "Esta página é uma demonstração para as possibilidades da interface da plataforma." #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -2958,7 +2963,7 @@ msgstr "Esta página é uma demonstração para as possibilidades da interface d #: src/pages/Index/Scan.tsx:216 msgid "Manual input" -msgstr "Entrada manual" +msgstr "Entrada Manual" #: src/pages/Index/Scan.tsx:217 msgid "Image Barcode" @@ -2966,11 +2971,11 @@ msgstr "Imagem do Código de Barras" #: src/pages/Index/Scan.tsx:247 msgid "Selected elements are not known" -msgstr "Selecionar elementos não conhecidos" +msgstr "Elementos selecionados não são conhecidos" #: src/pages/Index/Scan.tsx:254 msgid "Multiple object types selected" -msgstr "Múltiplos tipos de objetos selecionados" +msgstr "Vários tipos de objeto selecionados" #: src/pages/Index/Scan.tsx:261 msgid "Actions for {0}" @@ -2982,15 +2987,15 @@ msgstr "Escanear Página" #: src/pages/Index/Scan.tsx:285 msgid "This page can be used for continuously scanning items and taking actions on them." -msgstr "Esta página pode ser usada para escanear itens continuamente e executar ações sobre eles." +msgstr "Esta página pode ser usada para escanear itens continuamente e tomar ações sobre eles." #: src/pages/Index/Scan.tsx:292 msgid "Toggle Fullscreen" -msgstr "Alternar para tela cheia" +msgstr "Modo Ecrã Inteiro" #: src/pages/Index/Scan.tsx:305 msgid "Select the input method you want to use to scan items." -msgstr "Selecione o método de entrada que você deseja usar para escanear os itens." +msgstr "Selecione o método de entrada que você deseja usar para escanear itens." #: src/pages/Index/Scan.tsx:307 msgid "Input" @@ -3006,7 +3011,7 @@ msgstr "Nada encontrado" #: src/pages/Index/Scan.tsx:323 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." -msgstr "Dependendo das peças selecionadas as ações serão exibidas aqui. Nem todos os códigos de barras são suportados atualmente." +msgstr "Dependendo das ações das peças selecionadas serão mostradas aqui. Nem todos os tipos de código de barras são suportados atualmente." #: src/pages/Index/Scan.tsx:325 msgid "Action" @@ -3022,15 +3027,15 @@ msgstr "Ações Gerais" #: src/pages/Index/Scan.tsx:351 msgid "Lookup part" -msgstr "Peça Pesquisada" +msgstr "Pesquisar Peça" #: src/pages/Index/Scan.tsx:359 msgid "Open Link" -msgstr "Abrir Link" +msgstr "Abrir Ligação" #: src/pages/Index/Scan.tsx:375 msgid "History is locally kept in this browser." -msgstr "O histórico é guardado localmente neste navegador." +msgstr "O histórico é mantido localmente neste navegador." #: src/pages/Index/Scan.tsx:376 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." @@ -3043,11 +3048,11 @@ msgstr "Histórico" #: src/pages/Index/Scan.tsx:384 msgid "Delete History" -msgstr "Excluir o histórico" +msgstr "Apagar Histórico" #: src/pages/Index/Scan.tsx:449 msgid "No history" -msgstr "Sem histórico" +msgstr "Nenhum histórico" #: src/pages/Index/Scan.tsx:467 msgid "Item" @@ -3059,7 +3064,7 @@ msgstr "Tipo" #: src/pages/Index/Scan.tsx:473 msgid "Source" -msgstr "Fonte" +msgstr "Origem" #: src/pages/Index/Scan.tsx:476 msgid "Scanned at" @@ -3071,7 +3076,7 @@ msgstr "Inserir número de série ou dados do item" #: src/pages/Index/Scan.tsx:540 msgid "Add dummy item" -msgstr "Adicionar Item fictício" +msgstr "Adicionar item fictício" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:37 msgid "Account Details" @@ -3079,11 +3084,11 @@ msgstr "Detalhes da Conta" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:46 msgid "First name" -msgstr "Primeiro nome" +msgstr "Primeiro Nome" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Last name" -msgstr "Sobrenome" +msgstr "Apelido" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:58 #~ msgid "First name: {0}" @@ -3095,11 +3100,11 @@ msgstr "Sobrenome" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:63 msgid "First name:" -msgstr "Primeiro nome:" +msgstr "Primeiro Nome:" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:67 msgid "Last name:" -msgstr "Sobrenome:" +msgstr "Apelido:" #: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" @@ -3107,7 +3112,7 @@ msgstr "Usar pseudo-idioma" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" -msgstr "Contas de Login Único (SSO)" +msgstr "Contas de Login Único" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 @@ -3116,7 +3121,7 @@ msgstr "Não habilitado" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" -msgstr "Contas de Login Único (SSO) não estão habilitadas neste servidor" +msgstr "Acesso único não está habilitado para este servidor" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" @@ -3132,7 +3137,7 @@ msgstr "Os seguintes endereços de e-mail estão associados à sua conta:" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:144 msgid "Primary" -msgstr "Principal" +msgstr "Primário" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 msgid "Verified" @@ -3140,11 +3145,11 @@ msgstr "Verificado" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:153 msgid "Unverified" -msgstr "Não Verificado" +msgstr "Não verificado" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 msgid "Add Email Address" -msgstr "Adicionar E-mail" +msgstr "Adicionar Endereço de Email" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail" @@ -3152,11 +3157,11 @@ msgstr "E-mail" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:170 msgid "E-Mail address" -msgstr "Endereço de e-mail" +msgstr "Endereço de E-mail" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Make Primary" -msgstr "Tornar Principal" +msgstr "Tornar Primária" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:187 msgid "Re-send Verification" @@ -3164,7 +3169,7 @@ msgstr "Reenviar Verificação" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:198 msgid "Add Email" -msgstr "Adicionar E-mail" +msgstr "Adicionar Email" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263 msgid "Provider has not been configured" @@ -3212,7 +3217,7 @@ msgstr "Cor preta" #: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:116 msgid "Border Radius" -msgstr "Raio da borda" +msgstr "Raio da Margem" #: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:132 msgid "Loader" @@ -3228,11 +3233,11 @@ msgstr "Carregador" #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" -msgstr "Tarefas de segundo plano" +msgstr "Tarefas em segundo plano" #: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" -msgstr "Relatórios de Erro" +msgstr "Relatórios de Erros" #: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" @@ -3240,7 +3245,7 @@ msgstr "Moedas" #: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" -msgstr "Unidades personalizadas" +msgstr "Unidades Personalizadas" #: src/pages/Index/Settings/AdminCenter/Index.tsx:123 #: src/pages/part/CategoryDetail.tsx:255 @@ -3257,7 +3262,7 @@ msgstr "Parâmetros de Categoria" #: src/pages/Index/Settings/AdminCenter/Index.tsx:147 msgid "Location types" -msgstr "Tipos de localização" +msgstr "Tipos de Localização" #: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 @@ -3270,7 +3275,7 @@ msgstr "Ações Rápidas" #: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" -msgstr "Adicionar novo usuário" +msgstr "Adicionar um novo utilizador" #: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" @@ -3278,20 +3283,20 @@ msgstr "Opções Avançadas" #: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:43 msgid "Machine types" -msgstr "Tipos de máquinas" +msgstr "Tipo de máquina" #: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:53 msgid "Machine Error Stack" -msgstr "Pilha de Erros da Máquina" +msgstr "Erro de máquina na Stack" #: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:62 msgid "There are no machine registry errors." -msgstr "Não há registro de erros da máquina." +msgstr "Não há erros de registro da máquina." #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:28 #: src/tables/settings/UserTable.tsx:116 msgid "Info" -msgstr "Info" +msgstr "Informação" #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:32 msgid "External plugins are not enabled for this InvenTree installation." @@ -3311,7 +3316,7 @@ msgstr "Extensões externas não estão ativados para esta instalação do Inven #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:50 msgid "Plugin Errors" -msgstr "Erros de plugin" +msgstr "Erros de Extensão" #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:59 msgid "Plugin Settings" @@ -3338,7 +3343,7 @@ msgstr "Tarefas Agendadas" #: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 #: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" -msgstr "Tarefas com Falhas" +msgstr "Tarefas que falharam" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 #~ msgid "Label" @@ -3392,11 +3397,11 @@ msgstr "Selecione as configurações relevantes para o ciclo de vida dos usuári #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:35 msgid "System settings" -msgstr "Configurações do sistema" +msgstr "Definições de Sistema" #: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" -msgstr "Entrar" +msgstr "Iniciar sessão" #: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" @@ -3451,11 +3456,11 @@ msgstr "Segurança" #: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" -msgstr "Opções de exibição" +msgstr "Opções de Exibição" #: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" -msgstr "Configurações de Conta" +msgstr "Definições da Conta" #: src/pages/Index/Settings/UserSettings.tsx:122 msgid "Switch to System Setting" @@ -3471,7 +3476,7 @@ msgstr "Mudar para Configuração do Sistema" #: src/pages/NotFound.tsx:17 msgid "Not Found" -msgstr "Não encontrado" +msgstr "Não Encontrado" #: src/pages/NotFound.tsx:20 msgid "Sorry, this page is not known or was moved." @@ -3483,7 +3488,7 @@ msgstr "Ir para a página inicial" #: src/pages/Notifications.tsx:43 msgid "Delete Notifications" -msgstr "Apagar notificações" +msgstr "Eliminar notificações" #: src/pages/Notifications.tsx:108 msgid "Mark as unread" @@ -3540,7 +3545,7 @@ msgstr "Descrição" #: src/pages/build/BuildDetail.tsx:107 msgid "Parent Build" -msgstr "Produção Pai" +msgstr "Produção Parente" #: src/pages/build/BuildDetail.tsx:118 msgid "Build Quantity" @@ -3549,7 +3554,7 @@ msgstr "Quantidade de Produção" #: src/pages/build/BuildDetail.tsx:126 #: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" -msgstr "Saídas Completas" +msgstr "Saídas Concluídas" #: src/pages/build/BuildDetail.tsx:143 #: src/tables/build/BuildOrderTable.tsx:142 @@ -3579,7 +3584,7 @@ msgstr "Criado" #: src/pages/sales/SalesOrderDetail.tsx:182 #: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" -msgstr "Data Prevista" +msgstr "Data alvo" #: src/pages/build/BuildDetail.tsx:171 msgid "Completed" @@ -3587,11 +3592,11 @@ msgstr "Concluído" #: src/pages/build/BuildDetail.tsx:183 msgid "Source Location" -msgstr "Local de Origem" +msgstr "Localização de Origem" #: src/pages/build/BuildDetail.tsx:184 msgid "Any location" -msgstr "Qualquer local" +msgstr "Qualquer localização" #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 @@ -3641,7 +3646,7 @@ msgstr "Detalhes da Produção" #: src/pages/build/BuildDetail.tsx:235 #: src/tables/build/BuildLineTable.tsx:225 msgid "Allocate Stock" -msgstr "Alocar Estoque" +msgstr "Alocar estoque" #: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" @@ -3653,7 +3658,7 @@ msgstr "Estoque Consumido" #: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" -msgstr "Pedido de Produção Filhos" +msgstr "Pedido de Produção Filho" #: src/pages/build/BuildDetail.tsx:295 #: src/pages/company/CompanyDetail.tsx:255 @@ -3689,7 +3694,7 @@ msgstr "Cancelar Pedido de Produção" #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" -msgstr "Adicionar Pedido de Produção" +msgstr "Novo Pedido de Produção" #: src/pages/build/BuildDetail.tsx:368 #~ msgid "Reporting Actions" @@ -3720,11 +3725,11 @@ msgstr "Cancelar pedido" #: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" -msgstr "Número de telefone" +msgstr "Número de Telefone" #: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" -msgstr "Endereço de e-mail" +msgstr "Endereço de Email" #: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" @@ -3779,7 +3784,7 @@ msgstr "Peças Fabricadas" #: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" -msgstr "Peças Fornecidas" +msgstr "Peças fornecidas" #: src/pages/company/CompanyDetail.tsx:189 #~ msgid "Delete company" @@ -3813,7 +3818,7 @@ msgstr "Link Externo" #: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" -msgstr "Número de Peça do Fabricante" +msgstr "Número da Peça do Fabricante" #: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" @@ -3821,7 +3826,7 @@ msgstr "Detalhes do Fabricante" #: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" -msgstr "Detalhes de peça do Fabricante" +msgstr "Detalhes da Peça do Fabricante" #: src/pages/company/ManufacturerPartDetail.tsx:146 #: src/pages/part/PartDetail.tsx:488 @@ -3847,7 +3852,7 @@ msgstr "Adicionar Peça do Fabricante" #: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" -msgstr "Ações de peça do Fabricante" +msgstr "Ações da Peça do Fabricante" #: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" @@ -3856,12 +3861,12 @@ msgstr "Peça do Fabricante" #: src/pages/company/SupplierPartDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:117 msgid "Note" -msgstr "Anotação" +msgstr "Nota" #: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" -msgstr "Código (SKU)" +msgstr "SKU" #: src/pages/company/SupplierPartDetail.tsx:143 #: src/pages/company/SupplierPartDetail.tsx:194 @@ -3874,11 +3879,11 @@ msgstr "Embalagem" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" -msgstr "Quantidade de embalagens" +msgstr "Quantidade embalada" #: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" -msgstr "Disponibilidade do fornecedor" +msgstr "Disponibilidade do Fornecedor" #: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" @@ -3890,7 +3895,7 @@ msgstr "Disponibilidade" #: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" -msgstr "Detalhes de Peça do Fornecedor" +msgstr "Detalhes da Peça do Fornecedor" #: src/pages/company/SupplierPartDetail.tsx:210 #: src/pages/purchasing/PurchaseOrderDetail.tsx:265 @@ -3901,21 +3906,21 @@ msgstr "Estoque Recebido" #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" -msgstr "Preço do fornecedor" +msgstr "Preço do Fornecedor" #: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" -msgstr "Ações de Peças do Fornecedor" +msgstr "Ações do Fornecedor da Peça" #: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" -msgstr "Editar Peça do Fornecedor" +msgstr "Editar Fornecedor da Peça" #: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" -msgstr "Adicionar Peça do Fornecedor" +msgstr "Adicionar Fornecedor da Peça" #: src/pages/part/CategoryDetail.tsx:84 #: src/pages/stock/LocationDetail.tsx:91 @@ -3925,7 +3930,7 @@ msgstr "Caminho" #: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" -msgstr "Categoria Pai" +msgstr "Categoria Parente" #: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" @@ -3939,15 +3944,15 @@ msgstr "Estrutural" #: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" -msgstr "Localização padrão do pai" +msgstr "Armazenar na localização Parente" #: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" -msgstr "Local Padrão" +msgstr "Localização predefinida" #: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" -msgstr "Categoria de peça de nível superior" +msgstr "Categoria da peça de nível superior" #: src/pages/part/CategoryDetail.tsx:158 #: src/pages/part/CategoryDetail.tsx:212 @@ -3958,36 +3963,36 @@ msgstr "Editar Categoria da Peça" #: src/pages/part/CategoryDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" -msgstr "" +msgstr "Eliminar itens" #: src/pages/part/CategoryDetail.tsx:179 #: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" -msgstr "" +msgstr "Definir Categoria da Peça" #: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" -msgstr "" +msgstr "Ações da peça" #: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" -msgstr "" +msgstr "Ações para peças nesta categoria" #: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" -msgstr "" +msgstr "Ações para Categorias Filhas" #: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" -msgstr "" +msgstr "Ações para Caregorias Filhas nesta Categoria" #: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" -msgstr "" +msgstr "Ações da Categoria" #: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" -msgstr "" +msgstr "Detalhes da Categoria" #: src/pages/part/PartDetail.tsx:141 msgid "Variant of" @@ -4001,11 +4006,11 @@ msgstr "Categoria" #: src/pages/part/PartDetail.tsx:154 msgid "Default Location" -msgstr "Local Padrão" +msgstr "Localização Padrão" #: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" -msgstr "" +msgstr "Localização padrão da Categoria" #: src/pages/part/PartDetail.tsx:168 msgid "IPN" @@ -4030,7 +4035,7 @@ msgstr "Palavras-chave" #: src/pages/sales/ReturnOrderDetail.tsx:151 #: src/pages/sales/SalesOrderDetail.tsx:155 msgid "Link" -msgstr "Link" +msgstr "Ligação" #: src/pages/part/PartDetail.tsx:214 #: src/tables/bom/BomTable.tsx:271 @@ -4046,11 +4051,11 @@ msgstr "Estoque Mínimo" #: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" -msgstr "No pedido" +msgstr "Na ordem" #: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" -msgstr "Alocado para Pedidos de Construção" +msgstr "Alocado para Pedidos de Produção" #: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" @@ -4087,38 +4092,38 @@ msgstr "Ativo" #: src/pages/part/PartDetail.tsx:272 msgid "Template Part" -msgstr "" +msgstr "Peça Modelo" #: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" -msgstr "Peça Montada" +msgstr "Peça montada" #: src/pages/part/PartDetail.tsx:282 msgid "Component Part" -msgstr "" +msgstr "Peça do componente" #: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" -msgstr "Peça Rastreável" +msgstr "Peça rastreável" #: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" -msgstr "" +msgstr "Peça comprável" #: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" -msgstr "" +msgstr "Peça vendível" #: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" -msgstr "" +msgstr "Peça virtual" #: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" -msgstr "Criado em" +msgstr "Data de Criação" #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" @@ -4126,7 +4131,7 @@ msgstr "Criado em" #: src/pages/part/PartDetail.tsx:315 msgid "Created By" -msgstr "" +msgstr "Criado por" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" @@ -4145,7 +4150,7 @@ msgstr "Fornecedor Padrão" #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" -msgstr "Faixa de Preço" +msgstr "Intervalo de Preço" #: src/pages/part/PartDetail.tsx:376 #: src/pages/stock/StockDetail.tsx:131 @@ -4154,11 +4159,11 @@ msgstr "Último Balanço" #: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" -msgstr "" +msgstr "Balanço por" #: src/pages/part/PartDetail.tsx:482 msgid "Part Details" -msgstr "" +msgstr "Detalhes da Peça" #: src/pages/part/PartDetail.tsx:508 msgid "Variants" @@ -4175,11 +4180,11 @@ msgstr "Lista de Materiais" #: src/pages/part/PartDetail.tsx:536 msgid "Used In" -msgstr "Usado em" +msgstr "Utilizado em" #: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" -msgstr "" +msgstr "Preço da Peça" #: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 @@ -4192,7 +4197,7 @@ msgstr "Agendamento" #: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" -msgstr "Testar Modelos" +msgstr "Modelos de Teste" #: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" @@ -4210,13 +4215,13 @@ msgstr "Disponível" #: src/pages/part/PartDetail.tsx:673 msgid "No Stock" -msgstr "" +msgstr "Sem Estoque" #: src/pages/part/PartDetail.tsx:679 #: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" -msgstr "No pedido" +msgstr "No Pedido" #: src/pages/part/PartDetail.tsx:685 #: src/pages/stock/StockDetail.tsx:515 @@ -4232,7 +4237,7 @@ msgstr "Editar Peça" #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" -msgstr "" +msgstr "Adicionar Peça" #: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" @@ -4240,7 +4245,7 @@ msgstr "Excluir Peça" #: src/pages/part/PartDetail.tsx:732 msgid "Deleting this part cannot be reversed" -msgstr "Excluir esta peça não é reversível" +msgstr "A exclusão desta parte não pode ser revertida" #: src/pages/part/PartDetail.tsx:770 #: src/pages/stock/LocationDetail.tsx:302 @@ -4254,7 +4259,7 @@ msgstr "Contagem do estoque" #: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" -msgstr "Transferir estoque de peça" +msgstr "Transferir peça do estoque" #: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" @@ -4266,7 +4271,7 @@ msgstr "Ações da Peça" #: src/pages/part/PartPricingPanel.tsx:72 msgid "No pricing data found for this part." -msgstr "Nenhum dado de preço foi encontrado para esta peça." +msgstr "Nenhum dado de preço foi encontrado para esta parte." #: src/pages/part/PartPricingPanel.tsx:86 #: src/pages/part/pricing/PricingOverviewPanel.tsx:190 @@ -4285,12 +4290,12 @@ msgstr "Preço Interno" #: src/pages/part/PartPricingPanel.tsx:124 #: src/pages/part/pricing/PricingOverviewPanel.tsx:107 msgid "BOM Pricing" -msgstr "Preço LDM" +msgstr "Preço da BOM" #: src/pages/part/PartPricingPanel.tsx:131 #: src/pages/part/pricing/PricingOverviewPanel.tsx:128 msgid "Variant Pricing" -msgstr "Preço de Variante" +msgstr "Preço Variável" #: src/pages/part/PartPricingPanel.tsx:143 #: src/pages/part/pricing/PricingOverviewPanel.tsx:135 @@ -4300,7 +4305,7 @@ msgstr "Preço de Venda" #: src/pages/part/PartPricingPanel.tsx:150 #: src/pages/part/pricing/PricingOverviewPanel.tsx:142 msgid "Sale History" -msgstr "Histórico de Vendas" +msgstr "Histórico de Venda" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 @@ -4357,18 +4362,18 @@ msgstr "Atualizado" #: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" -msgstr "Gráfico Pizza" +msgstr "Gráfico circular" #: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" -msgstr "Grafico de Barras" +msgstr "Gráfico de Barras" #: src/pages/part/pricing/PriceBreakPanel.tsx:54 #: src/pages/part/pricing/PriceBreakPanel.tsx:106 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" -msgstr "Adicionar Quebra de Preço" +msgstr "Editar Quebra de Preço" #: src/pages/part/pricing/PriceBreakPanel.tsx:67 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 @@ -4378,7 +4383,7 @@ msgstr "Editar Quebra de Preço" #: src/pages/part/pricing/PriceBreakPanel.tsx:77 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" -msgstr "Excluir Quebra de Preço" +msgstr "Excluir quebra de preço" #: src/pages/part/pricing/PriceBreakPanel.tsx:91 msgid "Price Break" @@ -4386,11 +4391,11 @@ msgstr "Quebra de Preço" #: src/pages/part/pricing/PriceBreakPanel.tsx:166 msgid "Price" -msgstr "" +msgstr "Preço" #: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" -msgstr "Categoria de Precificação" +msgstr "Categoria de Preços" #: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" @@ -4406,11 +4411,11 @@ msgstr "Preço de Compra" #: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" -msgstr "Sobrepor Precificação" +msgstr "Alterar Preços" #: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" -msgstr "Precificação Geral" +msgstr "Preços Gerais" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 #: src/pages/stock/StockDetail.tsx:125 @@ -4419,23 +4424,23 @@ msgstr "Última Atualização" #: src/pages/part/pricing/PricingOverviewPanel.tsx:192 msgid "Minimum Value" -msgstr "" +msgstr "Valor Mínimo" #: src/pages/part/pricing/PricingOverviewPanel.tsx:193 msgid "Maximum Value" -msgstr "" +msgstr "Valor Máximo" #: src/pages/part/pricing/PricingPanel.tsx:25 msgid "No data available" -msgstr "Nenhum dado disponível" +msgstr "Dados indisponíveis" #: src/pages/part/pricing/PricingPanel.tsx:66 msgid "No Data" -msgstr "Sem dados" +msgstr "Sem Dados" #: src/pages/part/pricing/PricingPanel.tsx:67 msgid "No pricing data available" -msgstr "Não há informações de preço disponíveis" +msgstr "Não há dados de preços disponíveis" #: src/pages/part/pricing/PricingPanel.tsx:78 msgid "Loading pricing data" @@ -4454,7 +4459,7 @@ msgstr "Preço de Compra" #: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" -msgstr "Pedido de Venda" +msgstr "Ordem de Venda" #: src/pages/part/pricing/SaleHistoryPanel.tsx:42 #: src/pages/part/pricing/SaleHistoryPanel.tsx:92 @@ -4473,7 +4478,7 @@ msgstr "Peça Variante" #: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" -msgstr "Editar Pedido de Compra" +msgstr "Editar ordem de compra" #: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 @@ -4505,7 +4510,7 @@ msgstr "Itens de Linha Concluídos" #: src/pages/sales/SalesOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:263 msgid "Completed Shipments" -msgstr "Envios Concluídos" +msgstr "Envios concluídos" #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 @@ -4541,7 +4546,7 @@ msgstr "Detalhes do pedido" #: src/pages/sales/ReturnOrderDetail.tsx:299 #: src/pages/sales/SalesOrderDetail.tsx:313 msgid "Order Actions" -msgstr "Ações de Pedido" +msgstr "Ações do Pedido" #: src/pages/sales/ReturnOrderDetail.tsx:78 #: src/pages/sales/SalesOrderDetail.tsx:82 @@ -4557,7 +4562,7 @@ msgstr "Editar Pedido de Devolução" #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" -msgstr "Adicionar Pedido de Devolução" +msgstr "Novo Pedido de Devolução" #: src/pages/sales/SalesIndex.tsx:33 msgid "Customers" @@ -4571,7 +4576,7 @@ msgstr "Editar Pedido de Venda" #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" -msgstr "Adicionar Pedido de Vendas" +msgstr "Novo Pedido de Venda" #: src/pages/sales/SalesOrderDetail.tsx:257 msgid "Pending Shipments" @@ -4579,7 +4584,7 @@ msgstr "Envios Pendentes" #: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" -msgstr "Localização Pai" +msgstr "Localização Parente" #: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" @@ -4587,7 +4592,7 @@ msgstr "Sub-locais" #: src/pages/stock/LocationDetail.tsx:137 msgid "External" -msgstr "Externo" +msgstr "Externos" #: src/pages/stock/LocationDetail.tsx:143 msgid "Location Type" @@ -4609,7 +4614,7 @@ msgstr "" #: src/pages/stock/LocationDetail.tsx:329 #: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" -msgstr "Editar Local de Estoque" +msgstr "" #: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:334 @@ -4638,7 +4643,7 @@ msgstr "" #: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" -msgstr "Peça base" +msgstr "" #: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" @@ -4679,23 +4684,23 @@ msgstr "" #: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" -msgstr "Rastreamento de Estoque" +msgstr "" #: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" -msgstr "Dados de Teste" +msgstr "" #: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" -msgstr "Itens Instalados" +msgstr "" #: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" -msgstr "Itens Filhos" +msgstr "" #: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" -msgstr "Editar Item do Estoque" +msgstr "" #: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" @@ -4707,30 +4712,30 @@ msgstr "" #: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" -msgstr "Operações de Estoque" +msgstr "" #: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" -msgstr "Contagem de estoque" +msgstr "" #: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" -msgstr "Adicionar estoque" +msgstr "" #: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" -msgstr "Remover estoque" +msgstr "" #: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" -msgstr "Transferir" +msgstr "" #: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" -msgstr "Transferir estoque" +msgstr "" #: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" @@ -4747,12 +4752,12 @@ msgstr "" #: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" -msgstr "Moeda" +msgstr "" #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" -msgstr "Selecionar Colunas" +msgstr "" #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" @@ -4764,11 +4769,11 @@ msgstr "Selecionar Colunas" #: src/tables/DownloadAction.tsx:22 msgid "CSV" -msgstr "CSV" +msgstr "" #: src/tables/DownloadAction.tsx:23 msgid "TSV" -msgstr "TSV" +msgstr "" #: src/tables/DownloadAction.tsx:24 msgid "Excel (.xls)" @@ -4785,77 +4790,77 @@ msgstr "" #: src/tables/Filter.tsx:88 #: src/tables/build/BuildOrderTable.tsx:126 msgid "Assigned to me" -msgstr "Atribuído a mim" +msgstr "" #: src/tables/Filter.tsx:89 #: src/tables/build/BuildOrderTable.tsx:127 msgid "Show orders assigned to me" -msgstr "Mostrar pedidos atribuídos a mim" +msgstr "" #: src/tables/Filter.tsx:96 msgid "Outstanding" -msgstr "Pendente" +msgstr "" #: src/tables/Filter.tsx:97 msgid "Show outstanding orders" -msgstr "Mostrar pedidos pendentes" +msgstr "" #: src/tables/Filter.tsx:104 #: src/tables/build/BuildOrderTable.tsx:119 msgid "Overdue" -msgstr "Em atraso" +msgstr "" #: src/tables/Filter.tsx:105 msgid "Show overdue orders" -msgstr "Mostrar pedidos atrasados" +msgstr "" #: src/tables/FilterSelectDrawer.tsx:51 msgid "Remove filter" -msgstr "Remover filtro" +msgstr "" #: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" -msgstr "Selecionar filtro" +msgstr "" #: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" -msgstr "Filtro" +msgstr "" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" -msgstr "Valor" +msgstr "" #: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" -msgstr "Selecionar valor do filtro" +msgstr "" #: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" -msgstr "Filtros da Tabela" +msgstr "" #: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" -msgstr "Adicionar Filtro" +msgstr "" #: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" -msgstr "Limpar Filtros" +msgstr "" #: src/tables/InvenTreeTable.tsx:119 #: src/tables/InvenTreeTable.tsx:390 #: src/tables/InvenTreeTable.tsx:411 msgid "No records found" -msgstr "Nenhum registro encontrado" +msgstr "Nenhum registo encontrado" #: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" -msgstr "O servidor retornou um tipo de dado incorreto" +msgstr "O servidor retornou dados incorretos" #: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" -msgstr "Requisição inválida" +msgstr "Pedido inválido" #: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" @@ -4872,27 +4877,27 @@ msgstr "Não encontrado" #: src/tables/InvenTreeTable.tsx:488 #: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" -msgstr "Remover registros selecionados" +msgstr "Remover registos selecionados" #: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" -msgstr "Tem certeza que deseja apagar os registros selecionados?" +msgstr "Tem certeza de que deseja excluir os registos selecionados?" #: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" -msgstr "Essa ação não pode ser desfeita!" +msgstr "Esta ação não pode ser desfeita!" #: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" -msgstr "Registos removidos" +msgstr "Registos eliminados" #: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" -msgstr "Registros foram removidos com sucesso" +msgstr "Registos excluídos com sucesso" #: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" -msgstr "Falha ao remover registros" +msgstr "Falha ao excluir registos" #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 @@ -4910,11 +4915,11 @@ msgstr "Atualizar dados" #: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" -msgstr "Filtros da Tabela" +msgstr "Filtros de tabela" #: src/tables/bom/BomTable.tsx:78 msgid "This BOM item is defined for a different parent" -msgstr "Este item da BOM é definido para um pai diferente" +msgstr "Este item BOM é definido para uma peça parental diferente" #: src/tables/bom/BomTable.tsx:93 msgid "Part Information" @@ -4929,17 +4934,17 @@ msgstr "Sem Estoque" #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" -msgstr "" +msgstr "Estoque externo" #: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" -msgstr "Incluir estoque de substitutos" +msgstr "Inclui substitutos de estoque" #: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" -msgstr "Incluir estoque de variantes" +msgstr "Inclui estoque variante" #: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 @@ -4954,11 +4959,11 @@ msgstr "Item Consumível" #: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" -msgstr "Mostrar itens rastreáveis" +msgstr "Mostrar partes rastreáveis" #: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" -msgstr "Exibir itens montados" +msgstr "Mostrar partes montadas" #: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" @@ -4970,7 +4975,7 @@ msgstr "Mostrar itens no pedido" #: src/tables/bom/BomTable.tsx:281 msgid "Validated" -msgstr "" +msgstr "Validado" #: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" @@ -4979,7 +4984,7 @@ msgstr "Mostrar itens validados" #: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" -msgstr "" +msgstr "Herdado" #: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 @@ -5021,7 +5026,7 @@ msgstr "Exibir itens com preço" #: src/tables/bom/BomTable.tsx:311 #: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" -msgstr "" +msgstr "Adicionar Item na BOM" #: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" @@ -5053,7 +5058,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:343 msgid "View BOM" -msgstr "Ver BOM" +msgstr "" #: src/tables/bom/BomTable.tsx:348 #~ msgid "Delete Bom Item" @@ -5069,51 +5074,51 @@ msgstr "Ver BOM" #: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" -msgstr "Validar linha da BOM" +msgstr "" #: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" -msgstr "Editar substitutos" +msgstr "" #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" -msgstr "Mostrar montagens ativas" +msgstr "" #: src/tables/bom/UsedInTable.tsx:78 #: src/tables/part/PartTable.tsx:192 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" -msgstr "Rastreável" +msgstr "" #: src/tables/bom/UsedInTable.tsx:79 msgid "Show trackable assemblies" -msgstr "Mostrar montagens rastreáveis" +msgstr "" #: src/tables/build/BuildLineTable.tsx:31 #: src/tables/stock/StockItemTable.tsx:270 msgid "Allocated" -msgstr "Alocado" +msgstr "" #: src/tables/build/BuildLineTable.tsx:32 msgid "Show allocated lines" -msgstr "Mostrar linhas alocadas" +msgstr "" #: src/tables/build/BuildLineTable.tsx:37 msgid "Show lines with available stock" -msgstr "Mostrar linhas com estoque disponível" +msgstr "" #: src/tables/build/BuildLineTable.tsx:42 msgid "Show consumable lines" -msgstr "Mostrar linhas consumíveis" +msgstr "" #: src/tables/build/BuildLineTable.tsx:47 msgid "Show optional lines" -msgstr "Mostrar linhas opcionais" +msgstr "" #: src/tables/build/BuildLineTable.tsx:51 #: src/tables/stock/StockItemTable.tsx:329 msgid "Tracked" -msgstr "Monitorado" +msgstr "" #: src/tables/build/BuildLineTable.tsx:52 msgid "Show tracked lines" @@ -5121,39 +5126,39 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:86 msgid "In production" -msgstr "Em produção" +msgstr "" #: src/tables/build/BuildLineTable.tsx:118 #: src/tables/stock/StockItemTable.tsx:175 msgid "No stock available" -msgstr "Nenhum estoque disponível" +msgstr "" #: src/tables/build/BuildLineTable.tsx:157 msgid "Unit Quantity" -msgstr "Quantidade Unitária" +msgstr "" #: src/tables/build/BuildLineTable.tsx:231 msgid "Order Stock" -msgstr "Pedir estoque" +msgstr "" #: src/tables/build/BuildLineTable.tsx:237 msgid "Build Stock" -msgstr "Estoque de Produção" +msgstr "" #: src/tables/build/BuildOrderTable.tsx:109 msgid "Show active orders" -msgstr "Mostrar pedidos ativos" +msgstr "" #: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 #: src/tables/sales/SalesOrderTable.tsx:53 msgid "Filter by order status" -msgstr "Filtrar por estado do pedido" +msgstr "" #: src/tables/build/BuildOrderTable.tsx:121 msgid "Show overdue status" -msgstr "Mostrar estados atrasados" +msgstr "" #: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 @@ -5268,23 +5273,23 @@ msgstr "" #: src/tables/company/AddressTable.tsx:121 #: src/tables/company/AddressTable.tsx:185 msgid "Add Address" -msgstr "Adicionar endereço" +msgstr "" #: src/tables/company/AddressTable.tsx:126 msgid "Address created" -msgstr "Endereço criado" +msgstr "" #: src/tables/company/AddressTable.tsx:135 msgid "Edit Address" -msgstr "Editar o Endereço" +msgstr "" #: src/tables/company/AddressTable.tsx:143 msgid "Delete Address" -msgstr "Excluir Endereço" +msgstr "" #: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" -msgstr "Tem a certeza de que quer apagar esta endereço?" +msgstr "" #: src/tables/company/CompanyTable.tsx:71 #~ msgid "New Company" @@ -5293,7 +5298,7 @@ msgstr "Tem a certeza de que quer apagar esta endereço?" #: src/tables/company/CompanyTable.tsx:74 #: src/tables/company/CompanyTable.tsx:123 msgid "Add Company" -msgstr "Adicionar Empresa" +msgstr "" #: src/tables/company/CompanyTable.tsx:96 msgid "Show active companies" @@ -5313,35 +5318,35 @@ msgstr "" #: src/tables/company/ContactTable.tsx:71 msgid "Edit Contact" -msgstr "Editar Contato" +msgstr "" #: src/tables/company/ContactTable.tsx:78 msgid "Add Contact" -msgstr "Adicionar Contato" +msgstr "" #: src/tables/company/ContactTable.tsx:89 msgid "Delete Contact" -msgstr "Excluir Contato" +msgstr "" #: src/tables/company/ContactTable.tsx:129 msgid "Add contact" -msgstr "Adicionar contato" +msgstr "" #: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" -msgstr "Arquivo enviado" +msgstr "" #: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" -msgstr "Arquivo {0} carregado com sucesso" +msgstr "" #: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" -msgstr "Erro no carregamento" +msgstr "" #: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" -msgstr "Arquivo não pode ser carregado" +msgstr "" #: src/tables/general/AttachmentTable.tsx:187 msgid "Upload Attachment" @@ -5353,15 +5358,15 @@ msgstr "" #: src/tables/general/AttachmentTable.tsx:211 msgid "Delete Attachment" -msgstr "Excluir Anexo" +msgstr "" #: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" -msgstr "Adicionar anexo" +msgstr "" #: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" -msgstr "Adicionar um link externo" +msgstr "" #: src/tables/general/AttachmentTable.tsx:254 #~ msgid "Upload attachment" @@ -5369,7 +5374,7 @@ msgstr "Adicionar um link externo" #: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" -msgstr "Nenhum anexo encontrado" +msgstr "" #: src/tables/general/AttachmentTable.tsx:325 msgid "Drag attachment file here to upload" @@ -5501,7 +5506,7 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:180 #: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" -msgstr "Embutido" +msgstr "" #: src/tables/machine/MachineTypeTable.tsx:146 msgid "Available drivers" @@ -5533,12 +5538,12 @@ msgstr "" #: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" -msgstr "Idade" +msgstr "" #: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" -msgstr "Mensagem" +msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 #: src/tables/part/PartParameterTable.tsx:88 @@ -5557,28 +5562,28 @@ msgstr "" #: src/tables/part/PartParameterTable.tsx:121 #: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" -msgstr "Editar Parâmetro da Peça" +msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" -msgstr "Incluir Subcategorias" +msgstr "" #: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" -msgstr "Incluir subcategorias nos resultados" +msgstr "" #: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" -msgstr "Mostrar categorias estruturais" +msgstr "" #: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" -msgstr "Nova Categoria de Peça" +msgstr "" #: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" -msgstr "Adicionar Categoria de Peça" +msgstr "" #: src/tables/part/PartCategoryTemplateTable.tsx:38 #: src/tables/part/PartCategoryTemplateTable.tsx:131 @@ -5603,147 +5608,147 @@ msgstr "" #: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" -msgstr "Novo Parâmetro de Peça" +msgstr "" #: src/tables/part/PartParameterTable.tsx:130 #: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" -msgstr "Apagar Parâmetro da Peça" +msgstr "" #: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" -msgstr "Adiciona parâmetro" +msgstr "" #: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" -msgstr "Incluir Variantes" +msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:31 msgid "Checkbox" -msgstr "Caixa de seleção" +msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:32 msgid "Show checkbox templates" -msgstr "Mostrar modelos da caixa de seleção" +msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:36 msgid "Has choices" -msgstr "Tem escolhas" +msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:37 msgid "Show templates with choices" -msgstr "Mostrar modelos com escolhas" +msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 #: src/tables/part/PartTable.tsx:198 msgid "Has Units" -msgstr "Possui unidades" +msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:42 msgid "Show templates with units" -msgstr "Mostrar modelos com unidades" +msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" -msgstr "Adicionar Modelo de Parâmetro" +msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" -msgstr "Edital Modelo de Parâmetro" +msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" -msgstr "Excluir Modelo de Parâmetro" +msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" -msgstr "Adicionar modelo de parâmetro" +msgstr "" #: src/tables/part/PartTable.tsx:67 msgid "Minimum stock" -msgstr "Estoque mínimo" +msgstr "" #: src/tables/part/PartTable.tsx:89 msgid "Build Order Allocations" -msgstr "Alocações de Pedido de Produção" +msgstr "" #: src/tables/part/PartTable.tsx:98 msgid "Sales Order Allocations" -msgstr "Alocações do Pedido de Vendas" +msgstr "" #: src/tables/part/PartTable.tsx:169 msgid "Filter by part active status" -msgstr "Filtrar por peça em estado ativo" +msgstr "" #: src/tables/part/PartTable.tsx:174 #: src/tables/stock/StockItemTable.tsx:265 msgid "Assembly" -msgstr "Montagem" +msgstr "" #: src/tables/part/PartTable.tsx:175 msgid "Filter by assembly attribute" -msgstr "Filtrar por atributo de montagem" +msgstr "" #: src/tables/part/PartTable.tsx:181 msgid "Include parts in subcategories" -msgstr "Incluir peças em subcategorias" +msgstr "" #: src/tables/part/PartTable.tsx:187 msgid "Filter by component attribute" -msgstr "Filtrar por atributo do componente" +msgstr "" #: src/tables/part/PartTable.tsx:193 msgid "Filter by trackable attribute" -msgstr "Filtrar por atributo rastreável" +msgstr "" #: src/tables/part/PartTable.tsx:199 msgid "Filter by parts which have units" -msgstr "Filtrar por peças que têm unidades" +msgstr "" #: src/tables/part/PartTable.tsx:204 msgid "Has IPN" -msgstr "Tem IPN" +msgstr "" #: src/tables/part/PartTable.tsx:205 msgid "Filter by parts which have an internal part number" -msgstr "Filtrar por partes que tenham um número de peça interna" +msgstr "" #: src/tables/part/PartTable.tsx:210 msgid "Has Stock" -msgstr "Tem estoque" +msgstr "" #: src/tables/part/PartTable.tsx:211 msgid "Filter by parts which have stock" -msgstr "Filtrar por peças que têm estoque" +msgstr "" #: src/tables/part/PartTable.tsx:217 msgid "Filter by parts which have low stock" -msgstr "Filtrar por peças que tenham estoque baixo" +msgstr "" #: src/tables/part/PartTable.tsx:222 msgid "Purchaseable" -msgstr "Comprável" +msgstr "" #: src/tables/part/PartTable.tsx:223 msgid "Filter by parts which are purchaseable" -msgstr "Filtrar por peças que são compráveis" +msgstr "" #: src/tables/part/PartTable.tsx:228 msgid "Salable" -msgstr "Vendível" +msgstr "" #: src/tables/part/PartTable.tsx:229 msgid "Filter by parts which are salable" -msgstr "Filtrar por peças que são vendíveis" +msgstr "" #: src/tables/part/PartTable.tsx:235 msgid "Filter by parts which are virtual" -msgstr "Filtrar por peças que são virtuais" +msgstr "" #: src/tables/part/PartTable.tsx:239 msgid "Not Virtual" -msgstr "Não é Virtual" +msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:52 msgid "Results" @@ -5760,7 +5765,7 @@ msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" -msgstr "Mostrar testes necessários" +msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 @@ -5778,7 +5783,7 @@ msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" -msgstr "Mostrar testes que exigem um valor" +msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" @@ -5786,7 +5791,7 @@ msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" -msgstr "Mostrar testes que exigem um anexo" +msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" @@ -5807,15 +5812,15 @@ msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:132 #: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" -msgstr "Adicionar Modelo de Teste" +msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" -msgstr "Editar Modelo de Teste" +msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" -msgstr "Excluir Modelo de Teste" +msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" @@ -5831,39 +5836,39 @@ msgstr "Selecionar" #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" -msgstr "Mostrar variantes ativos" +msgstr "" #: src/tables/part/PartVariantTable.tsx:20 msgid "Template" -msgstr "Modelo" +msgstr "" #: src/tables/part/PartVariantTable.tsx:21 msgid "Show template variants" -msgstr "Mostrar variantes modelo" +msgstr "" #: src/tables/part/PartVariantTable.tsx:26 msgid "Show virtual variants" -msgstr "Mostrar variantes virtuais" +msgstr "" #: src/tables/part/PartVariantTable.tsx:31 msgid "Show trackable variants" -msgstr "Mostrar variantes rastreáveis" +msgstr "" #: src/tables/part/RelatedPartTable.tsx:84 msgid "Add Related Part" -msgstr "Adicionar Peça Relacionada" +msgstr "" #: src/tables/part/RelatedPartTable.tsx:99 msgid "Delete Related Part" -msgstr "Excluir Peça Relacionada" +msgstr "" #: src/tables/part/RelatedPartTable.tsx:106 msgid "Add related part" -msgstr "Adicionar peça relacionada" +msgstr "" #: src/tables/plugin/PluginErrorTable.tsx:29 msgid "Stage" -msgstr "Fase" +msgstr "" #: src/tables/plugin/PluginListTable.tsx:95 msgid "Plugin with key {pluginKey} not found" @@ -5871,7 +5876,7 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" -msgstr "Ocorreu um erro ao obter os detalhes do plugin" +msgstr "" #: src/tables/plugin/PluginListTable.tsx:113 #~ msgid "Plugin with id {id} not found" @@ -5879,11 +5884,11 @@ msgstr "Ocorreu um erro ao obter os detalhes do plugin" #: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" -msgstr "Informações do plugin" +msgstr "" #: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" -msgstr "Autor" +msgstr "" #: src/tables/plugin/PluginListTable.tsx:134 #~ msgid "Plugin Actions" @@ -5905,7 +5910,7 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" -msgstr "Informações do pacote" +msgstr "" #: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" @@ -5921,35 +5926,35 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" -msgstr "Configurações do Plugin" +msgstr "" #: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" -msgstr "Plugin está ativo" +msgstr "" #: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" -msgstr "Plugin está inativo" +msgstr "" #: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" -msgstr "Plugin não está instalado" +msgstr "" #: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" -msgstr "Plugin" +msgstr "" #: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" -msgstr "Descrição não disponível" +msgstr "" #: src/tables/plugin/PluginListTable.tsx:319 msgid "Confirm plugin activation" -msgstr "Confirmar ativação do plugin" +msgstr "" #: src/tables/plugin/PluginListTable.tsx:320 msgid "Confirm plugin deactivation" -msgstr "Confirmar desativação do plugin" +msgstr "" #: src/tables/plugin/PluginListTable.tsx:325 msgid "The selected plugin will be activated" @@ -5961,7 +5966,7 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" -msgstr "Ativar Plugin" +msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 #~ msgid "Deactivate Plugin" @@ -5977,7 +5982,7 @@ msgstr "Ativar Plugin" #: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" -msgstr "Desativar" +msgstr "" #: src/tables/plugin/PluginListTable.tsx:366 #~ msgid "Confirm" @@ -5985,7 +5990,7 @@ msgstr "Desativar" #: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" -msgstr "Ativar" +msgstr "" #: src/tables/plugin/PluginListTable.tsx:376 #~ msgid "Activating plugin" @@ -6017,15 +6022,15 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" -msgstr "Instalar plugin" +msgstr "" #: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" -msgstr "Instalar" +msgstr "" #: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" -msgstr "Plugin instalado com sucesso" +msgstr "" #: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" @@ -6057,19 +6062,19 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" -msgstr "Plugins recarregados" +msgstr "" #: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" -msgstr "Plugins foram recarregados com sucesso" +msgstr "" #: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" -msgstr "Recarregar plugins" +msgstr "" #: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" -msgstr "Instalar Plugin" +msgstr "" #: src/tables/plugin/PluginListTable.tsx:544 msgid "Plugin Detail" @@ -6077,12 +6082,12 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:573 msgid "Sample" -msgstr "Amostra" +msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 #: src/tables/stock/StockItemTable.tsx:305 msgid "Installed" -msgstr "Instalado" +msgstr "" #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" @@ -6099,7 +6104,7 @@ msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 msgid "Edit Parameter" -msgstr "Editar Parâmetro" +msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 #~ msgid "Parameter deleted" @@ -6111,7 +6116,7 @@ msgstr "Editar Parâmetro" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 msgid "Delete Parameter" -msgstr "Excluir Parâmetro" +msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" @@ -6119,7 +6124,7 @@ msgstr "Excluir Parâmetro" #: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" -msgstr "Excluir Peça do Fabricante" +msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:100 #~ msgid "Manufacturer part updated" @@ -6135,71 +6140,71 @@ msgstr "Excluir Peça do Fabricante" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" -msgstr "Descrição da Peça" +msgstr "" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113 msgid "Total Quantity" -msgstr "Quantidade Total" +msgstr "" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129 msgid "Received" -msgstr "Recebido" +msgstr "" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148 msgid "Supplier Code" -msgstr "Código do Fornecedor" +msgstr "" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155 msgid "Supplier Link" -msgstr "Link do Fornecedor" +msgstr "" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162 msgid "Manufacturer Code" -msgstr "Código do Fabricante" +msgstr "" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176 msgid "Destination" -msgstr "Destino" +msgstr "" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198 msgid "Add Line Item" -msgstr "Adicionar Item de Linha" +msgstr "" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 msgid "Edit Line Item" -msgstr "Editar Item de Linha" +msgstr "" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223 msgid "Delete Line Item" -msgstr "Excluir Item de Linha" +msgstr "" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234 msgid "Receive line item" -msgstr "Receber item de linha" +msgstr "" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272 msgid "Add line item" -msgstr "Adicionar item de linha" +msgstr "" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282 msgid "Receive items" -msgstr "Receber itens" +msgstr "" #: src/tables/purchasing/SupplierPartTable.tsx:93 msgid "MPN" -msgstr "MPN" +msgstr "" #: src/tables/purchasing/SupplierPartTable.tsx:122 msgid "Base units" -msgstr "Unidade base" +msgstr "" #: src/tables/purchasing/SupplierPartTable.tsx:170 msgid "Supplier part created" -msgstr "Peça do fornecedor criada" +msgstr "" #: src/tables/purchasing/SupplierPartTable.tsx:176 msgid "Add supplier part" -msgstr "Adicionar peça do fornecedor" +msgstr "" #: src/tables/purchasing/SupplierPartTable.tsx:188 msgid "Show active supplier parts" @@ -6235,47 +6240,47 @@ msgstr "" #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" -msgstr "Excluir Peça do Fornecedor" +msgstr "" #: src/tables/settings/CurrencyTable.tsx:28 msgid "Rate" -msgstr "Taxa" +msgstr "" #: src/tables/settings/CurrencyTable.tsx:40 msgid "Exchange rates updated" -msgstr "Taxas de câmbio atualizadas" +msgstr "" #: src/tables/settings/CurrencyTable.tsx:46 msgid "Exchange rate update error" -msgstr "Erro ao atualizar taxa de câmbio" +msgstr "" #: src/tables/settings/CurrencyTable.tsx:57 msgid "Refresh currency exchange rates" -msgstr "Atualizar taxas de câmbio" +msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 msgid "Add Custom Unit" -msgstr "Adicionar Unidade Personalizada" +msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:60 msgid "Edit Custom Unit" -msgstr "Editar Unidade Personalizada" +msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:68 msgid "Delete Custom Unit" -msgstr "Excluir Unidade Personalizada" +msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:100 msgid "Add custom unit" -msgstr "Adicionar unidade personalizada" +msgstr "" #: src/tables/settings/ErrorTable.tsx:29 msgid "When" -msgstr "Quando" +msgstr "" #: src/tables/settings/ErrorTable.tsx:39 msgid "Error Information" -msgstr "Informação do erro" +msgstr "" #: src/tables/settings/ErrorTable.tsx:51 msgid "Delete Error Report" @@ -6287,101 +6292,101 @@ msgstr "" #: src/tables/settings/ErrorTable.tsx:53 msgid "Are you sure you want to delete this error report?" -msgstr "Tem certeza de que deseja excluir este relatório de erro?" +msgstr "" #: src/tables/settings/ErrorTable.tsx:55 msgid "Error report deleted" -msgstr "Relatório de erro excluído" +msgstr "" #: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" -msgstr "Detalhes do Erro" +msgstr "" #: src/tables/settings/FailedTasksTable.tsx:24 #: src/tables/settings/PendingTasksTable.tsx:17 #: src/tables/settings/ScheduledTasksTable.tsx:19 msgid "Task" -msgstr "Tarefa" +msgstr "" #: src/tables/settings/FailedTasksTable.tsx:30 #: src/tables/settings/PendingTasksTable.tsx:22 msgid "Task ID" -msgstr "ID da Tarefa" +msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 #: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" -msgstr "Iniciado" +msgstr "" #: src/tables/settings/FailedTasksTable.tsx:40 msgid "Stopped" -msgstr "Parado" +msgstr "" #: src/tables/settings/FailedTasksTable.tsx:46 msgid "Attempts" -msgstr "Tentativas" +msgstr "" #: src/tables/settings/GroupTable.tsx:51 msgid "Group with id {id} not found" -msgstr "Grupo com o id {id} não encontrado" +msgstr "" #: src/tables/settings/GroupTable.tsx:53 msgid "An error occurred while fetching group details" -msgstr "Ocorreu um erro ao obter os detalhes do grupo" +msgstr "" #: src/tables/settings/GroupTable.tsx:77 msgid "Permission set" -msgstr "Permissão definida" +msgstr "" #: src/tables/settings/GroupTable.tsx:126 msgid "Delete group" -msgstr "Apagar grupo" +msgstr "" #: src/tables/settings/GroupTable.tsx:127 msgid "Group deleted" -msgstr "Grupo excluído" +msgstr "" #: src/tables/settings/GroupTable.tsx:129 msgid "Are you sure you want to delete this group?" -msgstr "Você tem certeza de que deseja excluir este grupo?" +msgstr "" #: src/tables/settings/GroupTable.tsx:134 #: src/tables/settings/GroupTable.tsx:146 msgid "Add group" -msgstr "Adicionar grupo" +msgstr "" #: src/tables/settings/GroupTable.tsx:158 msgid "Edit group" -msgstr "Editar grupo" +msgstr "" #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" -msgstr "Argumentos" +msgstr "" #: src/tables/settings/ProjectCodeTable.tsx:42 msgid "Add Project Code" -msgstr "Adicionar Código do Projeto" +msgstr "" #: src/tables/settings/ProjectCodeTable.tsx:54 msgid "Edit Project Code" -msgstr "Editar Código do Projeto" +msgstr "" #: src/tables/settings/ProjectCodeTable.tsx:62 msgid "Delete Project Code" -msgstr "Excluir Código do Projeto" +msgstr "" #: src/tables/settings/ProjectCodeTable.tsx:94 msgid "Add project code" -msgstr "Adicionar código do projeto" +msgstr "" #: src/tables/settings/ScheduledTasksTable.tsx:25 msgid "Last Run" -msgstr "Última Execução" +msgstr "" #: src/tables/settings/ScheduledTasksTable.tsx:47 msgid "Next Run" -msgstr "Próxima Execução" +msgstr "" #: src/tables/settings/TemplateTable.tsx:82 msgid "Template not found" @@ -6450,68 +6455,68 @@ msgstr "" #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" -msgstr "Usuário com o id {id} não encontrado" +msgstr "" #: src/tables/settings/UserTable.tsx:81 msgid "An error occurred while fetching user details" -msgstr "Ocorreu um erro ao obter os detalhes do usuário" +msgstr "" #: src/tables/settings/UserTable.tsx:99 msgid "Is Active" -msgstr "Está Ativo" +msgstr "" #: src/tables/settings/UserTable.tsx:100 msgid "Designates whether this user should be treated as active. Unselect this instead of deleting accounts." -msgstr "Designa se esse usuário deve ser tratado como ativo. Desmarque isso em vez de excluir contas." +msgstr "" #: src/tables/settings/UserTable.tsx:104 msgid "Is Staff" -msgstr "É da Equipe" +msgstr "" #: src/tables/settings/UserTable.tsx:105 msgid "Designates whether the user can log into the django admin site." -msgstr "Designa se o usuário pode fazer entrar no site administrativo do django." +msgstr "" #: src/tables/settings/UserTable.tsx:109 msgid "Is Superuser" -msgstr "É Superusuário" +msgstr "" #: src/tables/settings/UserTable.tsx:110 msgid "Designates that this user has all permissions without explicitly assigning them." -msgstr "Indica que este usuário tem todas as permissões sem atribuí-las explicitamente." +msgstr "" #: src/tables/settings/UserTable.tsx:120 msgid "You cannot edit the rights for the currently logged-in user." -msgstr "Você não pode editar os direitos para o usuário conectado no momento." +msgstr "" #: src/tables/settings/UserTable.tsx:151 msgid "No groups" -msgstr "Sem grupos" +msgstr "" #: src/tables/settings/UserTable.tsx:231 msgid "Delete user" -msgstr "Excluir usuário" +msgstr "" #: src/tables/settings/UserTable.tsx:232 msgid "User deleted" -msgstr "Usuário excluído" +msgstr "" #: src/tables/settings/UserTable.tsx:234 msgid "Are you sure you want to delete this user?" -msgstr "Tem certeza de que deseja excluir este usuário?" +msgstr "" #: src/tables/settings/UserTable.tsx:240 #: src/tables/settings/UserTable.tsx:258 msgid "Add user" -msgstr "Adicionar usuário" +msgstr "" #: src/tables/settings/UserTable.tsx:248 msgid "Added user" -msgstr "Usuário adicionado" +msgstr "" #: src/tables/settings/UserTable.tsx:270 msgid "Edit user" -msgstr "Editar usuário" +msgstr "" #: src/tables/stock/LocationTypesTable.tsx:36 #: src/tables/stock/LocationTypesTable.tsx:105 @@ -6532,140 +6537,140 @@ msgstr "" #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" -msgstr "Este item de estoque está em produção" +msgstr "" #: src/tables/stock/StockItemTable.tsx:99 msgid "This stock item has been assigned to a sales order" -msgstr "Este item em estoque foi reservado para um pedido" +msgstr "" #: src/tables/stock/StockItemTable.tsx:108 msgid "This stock item has been assigned to a customer" -msgstr "Este item em estoque foi reservado para um cliente" +msgstr "" #: src/tables/stock/StockItemTable.tsx:117 msgid "This stock item is installed in another stock item" -msgstr "Este item em estoque foi instalado em outro item de estoque" +msgstr "" #: src/tables/stock/StockItemTable.tsx:126 msgid "This stock item has been consumed by a build order" -msgstr "Este item de estoque foi consumido por um pedido de produção" +msgstr "" #: src/tables/stock/StockItemTable.tsx:135 msgid "This stock item has expired" -msgstr "Este item de estoque expirou" +msgstr "" #: src/tables/stock/StockItemTable.tsx:139 msgid "This stock item is stale" -msgstr "Este item de estoque está velho" +msgstr "" #: src/tables/stock/StockItemTable.tsx:150 msgid "This stock item is fully allocated" -msgstr "Este item de estoque está totalmente alocado" +msgstr "" #: src/tables/stock/StockItemTable.tsx:157 msgid "This stock item is partially allocated" -msgstr "Este item de estoque está parcialmente alocado" +msgstr "" #: src/tables/stock/StockItemTable.tsx:185 msgid "This stock item has been depleted" -msgstr "Este item de estoque foi esgotado" +msgstr "" #: src/tables/stock/StockItemTable.tsx:255 msgid "Show stock for active parts" -msgstr "Mostrar estoque de peças ativas" +msgstr "" #: src/tables/stock/StockItemTable.tsx:260 msgid "Filter by stock status" -msgstr "Filtrar por estado do estoque" +msgstr "" #: src/tables/stock/StockItemTable.tsx:266 msgid "Show stock for assmebled parts" -msgstr "Mostrar estoque para peças montadas" +msgstr "" #: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which have been allocated" -msgstr "Mostrar itens que foram alocados" +msgstr "" #: src/tables/stock/StockItemTable.tsx:276 msgid "Show items which are available" -msgstr "Mostrar itens que estão disponíveis" +msgstr "" #: src/tables/stock/StockItemTable.tsx:280 #: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" -msgstr "Incluir Sublocais" +msgstr "" #: src/tables/stock/StockItemTable.tsx:281 msgid "Include stock in sublocations" -msgstr "Incluir estoque em sublocais" +msgstr "" #: src/tables/stock/StockItemTable.tsx:285 msgid "Depleted" -msgstr "Esgotado" +msgstr "" #: src/tables/stock/StockItemTable.tsx:286 msgid "Show depleted stock items" -msgstr "Mostrar itens de estoque esgotados" +msgstr "" #: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which are in stock" -msgstr "Mostrar itens que estão em estoque" +msgstr "" #: src/tables/stock/StockItemTable.tsx:296 msgid "Show items which are in production" -msgstr "Mostrar itens que estão em produção" +msgstr "" #: src/tables/stock/StockItemTable.tsx:301 msgid "Include stock items for variant parts" -msgstr "Incluir itens de estoque para peças variantes" +msgstr "" #: src/tables/stock/StockItemTable.tsx:306 msgid "Show stock items which are installed in other items" -msgstr "Mostrar itens de estoque que estão instalados em outros itens" +msgstr "" #: src/tables/stock/StockItemTable.tsx:310 msgid "Sent to Customer" -msgstr "Enviar para Cliente" +msgstr "" #: src/tables/stock/StockItemTable.tsx:311 msgid "Show items which have been sent to a customer" -msgstr "Mostrar itens enviados para um cliente" +msgstr "" #: src/tables/stock/StockItemTable.tsx:315 msgid "Is Serialized" -msgstr "É Serializado" +msgstr "" #: src/tables/stock/StockItemTable.tsx:316 msgid "Show items which have a serial number" -msgstr "Mostrar itens com um número de série" +msgstr "" #: src/tables/stock/StockItemTable.tsx:323 msgid "Has Batch Code" -msgstr "Possuí Código de Lote" +msgstr "" #: src/tables/stock/StockItemTable.tsx:324 msgid "Show items which have a batch code" -msgstr "Mostrar itens com um código de lote" +msgstr "" #: src/tables/stock/StockItemTable.tsx:330 msgid "Show tracked items" -msgstr "Mostrar itens monitorados" +msgstr "" #: src/tables/stock/StockItemTable.tsx:334 msgid "Has Purchase Price" -msgstr "Tem Preço de Compra" +msgstr "" #: src/tables/stock/StockItemTable.tsx:335 msgid "Show items which have a purchase price" -msgstr "Mostrar itens com preço de compra" +msgstr "" #: src/tables/stock/StockItemTable.tsx:343 msgid "External Location" -msgstr "Localização Externa" +msgstr "" #: src/tables/stock/StockItemTable.tsx:344 msgid "Show items in an external location" -msgstr "Mostrar itens com localização externa" +msgstr "" #: src/tables/stock/StockItemTable.tsx:416 msgid "Add a new stock item" @@ -6810,7 +6815,7 @@ msgstr "" #: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" -msgstr "Incluir sublocais nos resultados" +msgstr "" #: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" @@ -6818,7 +6823,7 @@ msgstr "" #: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" -msgstr "Mostrar locais estruturais" +msgstr "" #: src/tables/stock/StockLocationTable.tsx:43 msgid "external" @@ -6826,16 +6831,16 @@ msgstr "" #: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" -msgstr "Mostrar locais externos" +msgstr "" #: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" -msgstr "Tem Tipo de localização" +msgstr "" #: src/tables/stock/StockLocationTable.tsx:85 #: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" -msgstr "Adicionar Local de Estoque" +msgstr "" #: src/tables/stock/StockTrackingTable.tsx:64 msgid "Added" @@ -6851,15 +6856,15 @@ msgstr "" #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" -msgstr "Visualização móvel detectada" +msgstr "" #: src/views/MobileAppView.tsx:25 msgid "Platform UI is optimized for Tablets and Desktops, you can use the official app for a mobile experience." -msgstr "A interface de usuário da plataforma é otimizada para Tablets e Desktops, você pode usar o app oficial para uma experiência para celulares." +msgstr "" #: src/views/MobileAppView.tsx:31 msgid "Read the docs" -msgstr "Leia a documentação" +msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" diff --git a/src/frontend/src/locales/ro/messages.po b/src/frontend/src/locales/ro/messages.po new file mode 100644 index 0000000000..86c7a74a8d --- /dev/null +++ b/src/frontend/src/locales/ro/messages.po @@ -0,0 +1,6871 @@ +msgid "" +msgstr "" +"POT-Creation-Date: 2023-06-09 22:10+0200\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: @lingui/cli\n" +"Language: ro\n" +"Project-Id-Version: inventree\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-06-11 23:05\n" +"Last-Translator: \n" +"Language-Team: Romanian\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" +"X-Crowdin-Project: inventree\n" +"X-Crowdin-Project-ID: 452300\n" +"X-Crowdin-Language: ro\n" +"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 205\n" + +#: src/components/Boundary.tsx:12 +msgid "Error rendering component" +msgstr "" + +#: src/components/Boundary.tsx:14 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "" + +#: src/components/DashboardItemProxy.tsx:34 +msgid "Title" +msgstr "" + +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + +#: src/components/buttons/CopyButton.tsx:18 +msgid "Copy to clipboard" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:107 +#: src/components/buttons/PrintingActions.tsx:144 +#: src/components/editors/NotesEditor.tsx:65 +#: src/components/editors/NotesEditor.tsx:160 +#: src/components/forms/ApiForm.tsx:506 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Error" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:108 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:123 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:139 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:145 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:173 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:178 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:184 +msgid "Print Reports" +msgstr "" + +#: src/components/buttons/ScanButton.tsx:15 +msgid "Scan QR code" +msgstr "" + +#: src/components/buttons/ScanButton.tsx:20 +msgid "Open QR code scanner" +msgstr "" + +#: src/components/buttons/SpotlightButton.tsx:14 +msgid "Open spotlight" +msgstr "" + +#: src/components/buttons/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/buttons/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/buttons/YesNoButton.tsx:32 +#: src/tables/Filter.tsx:51 +msgid "Yes" +msgstr "" + +#: src/components/buttons/YesNoButton.tsx:32 +#: src/tables/Filter.tsx:52 +msgid "No" +msgstr "" + +#: src/components/details/Details.tsx:303 +msgid "No name defined" +msgstr "" + +#: src/components/details/Details.tsx:340 +msgid "Copied" +msgstr "" + +#: src/components/details/Details.tsx:340 +msgid "Copy" +msgstr "" + +#: src/components/details/DetailsImage.tsx:65 +msgid "Remove Image" +msgstr "" + +#: src/components/details/DetailsImage.tsx:68 +msgid "Remove the associated image from this item?" +msgstr "" + +#: src/components/details/DetailsImage.tsx:71 +#: src/forms/StockForms.tsx:483 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 +#: src/pages/stock/StockDetail.tsx:465 +msgid "Remove" +msgstr "" + +#: src/components/details/DetailsImage.tsx:71 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 +#: src/contexts/ThemeContext.tsx:43 +#: src/functions/forms.tsx:196 +#: src/hooks/UseForm.tsx:40 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 +msgid "Cancel" +msgstr "" + +#: src/components/details/DetailsImage.tsx:97 +msgid "Drag and drop to upload" +msgstr "" + +#: src/components/details/DetailsImage.tsx:100 +msgid "Click to select file(s)" +msgstr "" + +#: src/components/details/DetailsImage.tsx:224 +msgid "Clear" +msgstr "" + +#: src/components/details/DetailsImage.tsx:227 +#: src/components/forms/ApiForm.tsx:573 +#: src/contexts/ThemeContext.tsx:43 +#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 +msgid "Submit" +msgstr "" + +#: src/components/details/DetailsImage.tsx:267 +msgid "Select from existing images" +msgstr "" + +#: src/components/details/DetailsImage.tsx:275 +msgid "Select Image" +msgstr "" + +#: src/components/details/DetailsImage.tsx:287 +msgid "Upload new image" +msgstr "" + +#: src/components/details/DetailsImage.tsx:294 +msgid "Upload Image" +msgstr "" + +#: src/components/details/DetailsImage.tsx:307 +msgid "Delete image" +msgstr "" + +#: src/components/details/PartIcons.tsx:28 +msgid "Part is not active" +msgstr "" + +#: src/components/details/PartIcons.tsx:34 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:314 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:691 +msgid "Inactive" +msgstr "" + +#: src/components/details/PartIcons.tsx:41 +msgid "Part is a template part (variants can be made from this part)" +msgstr "" + +#: src/components/details/PartIcons.tsx:47 +msgid "Part can be assembled from other parts" +msgstr "" + +#: src/components/details/PartIcons.tsx:53 +msgid "Part can be used in assemblies" +msgstr "" + +#: src/components/details/PartIcons.tsx:59 +msgid "Part stock is tracked by serial number" +msgstr "" + +#: src/components/details/PartIcons.tsx:65 +msgid "Part can be purchased from external suppliers" +msgstr "" + +#: src/components/details/PartIcons.tsx:71 +msgid "Part can be sold to customers" +msgstr "" + +#: src/components/details/PartIcons.tsx:76 +msgid "Part is virtual (not a physical part)" +msgstr "" + +#: src/components/details/PartIcons.tsx:82 +#: src/tables/part/PartTable.tsx:234 +#: src/tables/part/PartTable.tsx:238 +#: src/tables/part/PartVariantTable.tsx:25 +msgid "Virtual" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:66 +msgid "Image upload failed" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:151 +#: src/components/forms/ApiForm.tsx:430 +msgid "Success" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:152 +msgid "Notes saved successfully" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:161 +msgid "Failed to save notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Preview Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:193 +msgid "Edit Notes" +msgstr "" + +#: src/components/editors/NotesEditor.tsx:207 +msgid "Save Notes" +msgstr "" + +#: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 +msgid "Code" +msgstr "" + +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." + +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 +msgid "Preview not available, click \"Reload Preview\"." +msgstr "" + +#: src/components/editors/TemplateEditor/PdfPreview/index.tsx:9 +msgid "PDF Preview" +msgstr "" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 +msgid "Error loading template" +msgstr "" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 +msgid "Error saving template" +msgstr "" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" +msgstr "" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +msgid "Are you sure you want to Save & Reload the preview?" +msgstr "" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 +msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" +msgstr "" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 +msgid "Save & Reload" +msgstr "" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 +msgid "Preview updated" +msgstr "" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 +msgid "The preview has been updated successfully." +msgstr "" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 +msgid "Reload preview" +msgstr "" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 +msgid "Use the currently stored template from the server" +msgstr "" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 +msgid "Save the current template and reload the preview" +msgstr "" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 +#~ msgid "to preview" +#~ msgstr "to preview" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" +msgstr "" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 +msgid "Error rendering template" +msgstr "" + +#: src/components/forms/ApiForm.tsx:149 +#: src/functions/forms.tsx:259 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:487 +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" + +#: src/components/forms/ApiForm.tsx:611 +#: src/tables/plugin/PluginListTable.tsx:388 +msgid "Update" +msgstr "" + +#: src/components/forms/ApiForm.tsx:631 +#: src/components/items/ActionDropdown.tsx:210 +#: src/functions/forms.tsx:299 +#: src/hooks/UseForm.tsx:122 +#: src/pages/Index/Scan.tsx:343 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:498 +#: src/tables/RowActions.tsx:71 +#: src/tables/plugin/PluginListTable.tsx:420 +msgid "Delete" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:48 +#: src/components/forms/AuthenticationForm.tsx:74 +#: src/functions/auth.tsx:83 +#~ msgid "Check your your input and try again." +#~ msgstr "Check your your input and try again." + +#: src/components/forms/AuthenticationForm.tsx:51 +msgid "Login successful" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:52 +msgid "Logged in successfully" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:52 +#~ msgid "Welcome back!" +#~ msgstr "Welcome back!" + +#: src/components/forms/AuthenticationForm.tsx:53 +#~ msgid "Login successfull" +#~ msgstr "Login successfull" + +#: src/components/forms/AuthenticationForm.tsx:58 +msgid "Login failed" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:59 +#: src/components/forms/AuthenticationForm.tsx:76 +#: src/components/forms/AuthenticationForm.tsx:211 +#: src/functions/auth.tsx:123 +msgid "Check your input and try again." +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:65 +#: src/functions/auth.tsx:74 +#~ msgid "Mail delivery successfull" +#~ msgstr "Mail delivery successfull" + +#: src/components/forms/AuthenticationForm.tsx:70 +#: src/functions/auth.tsx:114 +msgid "Mail delivery successful" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:71 +msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:75 +msgid "Mail delivery failed" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:95 +msgid "Or continue with other methods" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:106 +#: src/components/forms/AuthenticationForm.tsx:227 +msgid "Username" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:107 +#: src/components/forms/AuthenticationForm.tsx:228 +msgid "Your username" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:112 +#: src/components/forms/AuthenticationForm.tsx:240 +#: src/pages/Auth/Set-Password.tsx:106 +msgid "Password" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:113 +#: src/components/forms/AuthenticationForm.tsx:241 +msgid "Your password" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:125 +#: src/pages/Auth/Reset.tsx:26 +msgid "Reset password" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:131 +#~ msgid "Log in" +#~ msgstr "Log in" + +#: src/components/forms/AuthenticationForm.tsx:134 +#: src/components/forms/AuthenticationForm.tsx:233 +#: src/pages/Auth/Reset.tsx:31 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 +msgid "Email" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:135 +#: src/pages/Auth/Reset.tsx:32 +#: src/pages/Auth/Set-Password.tsx:107 +msgid "We will send you a link to login - if you are registered" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:136 +#~ msgid "I will use username and password" +#~ msgstr "I will use username and password" + +#: src/components/forms/AuthenticationForm.tsx:151 +msgid "Send me an email" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:153 +msgid "Use username and password" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:162 +msgid "Log In" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:164 +msgid "Send Email" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:193 +msgid "Registration successful" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:194 +msgid "Please confirm your email address to complete the registration" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:210 +msgid "Input error" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:234 +msgid "This will be used for a confirmation" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:246 +msgid "Password repeat" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:247 +msgid "Repeat password" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:259 +#: src/components/forms/AuthenticationForm.tsx:304 +msgid "Register" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:265 +msgid "Or use SSO" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:296 +msgid "Don't have an account?" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:315 +msgid "Go back to login" +msgstr "" + +#: src/components/forms/HostOptionsForm.tsx:36 +#: src/components/forms/HostOptionsForm.tsx:67 +msgid "Host" +msgstr "" + +#: src/components/forms/HostOptionsForm.tsx:42 +#: src/components/forms/HostOptionsForm.tsx:70 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:128 +#: src/pages/stock/LocationDetail.tsx:85 +#: src/tables/machine/MachineTypeTable.tsx:65 +#: src/tables/machine/MachineTypeTable.tsx:109 +#: src/tables/machine/MachineTypeTable.tsx:216 +#: src/tables/machine/MachineTypeTable.tsx:319 +#: src/tables/plugin/PluginErrorTable.tsx:33 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 +#: src/tables/settings/GroupTable.tsx:103 +#: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 +msgid "Name" +msgstr "" + +#: src/components/forms/HostOptionsForm.tsx:75 +msgid "No one here..." +msgstr "" + +#: src/components/forms/HostOptionsForm.tsx:86 +msgid "Add Host" +msgstr "" + +#: src/components/forms/HostOptionsForm.tsx:90 +msgid "Save" +msgstr "" + +#: src/components/forms/InstanceOptions.tsx:43 +msgid "Select destination instance" +msgstr "" + +#: src/components/forms/InstanceOptions.tsx:71 +msgid "Edit possible host options" +msgstr "" + +#: src/components/forms/InstanceOptions.tsx:98 +msgid "Version: {0}" +msgstr "" + +#: src/components/forms/InstanceOptions.tsx:100 +msgid "API:{0}" +msgstr "" + +#: src/components/forms/InstanceOptions.tsx:102 +msgid "Name: {0}" +msgstr "" + +#: src/components/forms/InstanceOptions.tsx:104 +msgid "State: <0>worker ({0}), <1>plugins{1}" +msgstr "" + +#: src/components/forms/fields/RelatedModelField.tsx:320 +#: src/pages/Index/Settings/UserSettings.tsx:66 +#: src/tables/Search.tsx:23 +msgid "Search" +msgstr "" + +#: src/components/forms/fields/RelatedModelField.tsx:321 +#: src/components/modals/AboutInvenTreeModal.tsx:81 +#: src/components/widgets/WidgetLayout.tsx:120 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 +msgid "Loading" +msgstr "" + +#: src/components/forms/fields/RelatedModelField.tsx:323 +msgid "No results found" +msgstr "" + +#: src/components/forms/fields/TableField.tsx:50 +msgid "modelRenderer entry required for tables" +msgstr "" + +#: src/components/forms/fields/TableField.tsx:74 +msgid "No entries available" +msgstr "" + +#: src/components/images/DetailsImage.tsx:252 +#~ msgid "Select image" +#~ msgstr "Select image" + +#: src/components/images/Thumbnail.tsx:12 +#: src/components/images/Thumbnail.tsx:58 +msgid "Thumbnail" +msgstr "" + +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 +msgid "Barcode Actions" +msgstr "" + +#: src/components/items/ActionDropdown.tsx:136 +msgid "View" +msgstr "" + +#: src/components/items/ActionDropdown.tsx:137 +msgid "View barcode" +msgstr "" + +#: src/components/items/ActionDropdown.tsx:153 +msgid "Link Barcode" +msgstr "" + +#: src/components/items/ActionDropdown.tsx:154 +msgid "Link custom barcode" +msgstr "" + +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 +msgid "Unlink Barcode" +msgstr "" + +#: src/components/items/ActionDropdown.tsx:171 +msgid "Unlink custom barcode" +msgstr "" + +#: src/components/items/ActionDropdown.tsx:189 +#: src/tables/RowActions.tsx:51 +msgid "Edit" +msgstr "" + +#: src/components/items/ActionDropdown.tsx:211 +msgid "Delete item" +msgstr "" + +#: src/components/items/ActionDropdown.tsx:248 +#: src/tables/RowActions.tsx:31 +msgid "Duplicate" +msgstr "" + +#: src/components/items/ActionDropdown.tsx:249 +msgid "Duplicate item" +msgstr "" + +#: src/components/items/DocTooltip.tsx:92 +msgid "Read More" +msgstr "" + +#: src/components/items/ErrorItem.tsx:5 +#: src/tables/InvenTreeTable.tsx:443 +msgid "Unknown error" +msgstr "" + +#: src/components/items/ErrorItem.tsx:10 +msgid "An error occurred:" +msgstr "" + +#: src/components/items/GettingStartedCarousel.tsx:27 +msgid "Read more" +msgstr "" + +#: src/components/items/InfoItem.tsx:27 +msgid "None" +msgstr "" + +#: src/components/items/InvenTreeLogo.tsx:23 +msgid "InvenTree Logo" +msgstr "" + +#: src/components/items/OnlyStaff.tsx:9 +#: src/components/modals/AboutInvenTreeModal.tsx:44 +msgid "This information is only available for staff users" +msgstr "" + +#: src/components/items/Placeholder.tsx:14 +msgid "This feature/button/site is a placeholder for a feature that is not implemented, only partial or intended for testing." +msgstr "" + +#: src/components/items/Placeholder.tsx:17 +msgid "PLH" +msgstr "" + +#: src/components/items/Placeholder.tsx:31 +msgid "This panel is a placeholder." +msgstr "" + +#: src/components/modals/AboutInvenTreeModal.tsx:99 +msgid "Version Information" +msgstr "" + +#: src/components/modals/AboutInvenTreeModal.tsx:103 +msgid "Your InvenTree version status is" +msgstr "" + +#: src/components/modals/AboutInvenTreeModal.tsx:107 +msgid "Development Version" +msgstr "" + +#: src/components/modals/AboutInvenTreeModal.tsx:111 +msgid "Up to Date" +msgstr "" + +#: src/components/modals/AboutInvenTreeModal.tsx:115 +msgid "Update Available" +msgstr "" + +#: src/components/modals/AboutInvenTreeModal.tsx:125 +msgid "InvenTree Version" +msgstr "" + +#: src/components/modals/AboutInvenTreeModal.tsx:131 +msgid "Commit Hash" +msgstr "" + +#: src/components/modals/AboutInvenTreeModal.tsx:136 +msgid "Commit Date" +msgstr "" + +#: src/components/modals/AboutInvenTreeModal.tsx:141 +msgid "Commit Branch" +msgstr "" + +#: src/components/modals/AboutInvenTreeModal.tsx:146 +#: src/components/modals/ServerInfoModal.tsx:133 +msgid "API Version" +msgstr "" + +#: src/components/modals/AboutInvenTreeModal.tsx:149 +msgid "Python Version" +msgstr "" + +#: src/components/modals/AboutInvenTreeModal.tsx:152 +msgid "Django Version" +msgstr "" + +#: src/components/modals/AboutInvenTreeModal.tsx:162 +msgid "Links" +msgstr "" + +#: src/components/modals/AboutInvenTreeModal.tsx:168 +msgid "InvenTree Documentation" +msgstr "" + +#: src/components/modals/AboutInvenTreeModal.tsx:169 +msgid "View Code on GitHub" +msgstr "" + +#: src/components/modals/AboutInvenTreeModal.tsx:170 +msgid "Credits" +msgstr "" + +#: src/components/modals/AboutInvenTreeModal.tsx:171 +msgid "Mobile App" +msgstr "" + +#: src/components/modals/AboutInvenTreeModal.tsx:172 +msgid "Submit Bug Report" +msgstr "" + +#: src/components/modals/AboutInvenTreeModal.tsx:183 +msgid "Copy version information" +msgstr "" + +#: src/components/modals/AboutInvenTreeModal.tsx:192 +#: src/components/modals/ServerInfoModal.tsx:147 +msgid "Dismiss" +msgstr "" + +#: src/components/modals/LicenseModal.tsx:39 +msgid "No license text available" +msgstr "" + +#: src/components/modals/LicenseModal.tsx:46 +msgid "No Information provided - this is likely a server issue" +msgstr "" + +#: src/components/modals/LicenseModal.tsx:71 +msgid "Loading license information" +msgstr "" + +#: src/components/modals/LicenseModal.tsx:77 +msgid "Failed to fetch license information" +msgstr "" + +#: src/components/modals/LicenseModal.tsx:85 +msgid "{key} Packages" +msgstr "" + +#: src/components/modals/QrCodeModal.tsx:72 +msgid "Unknown response" +msgstr "" + +#: src/components/modals/QrCodeModal.tsx:102 +#: src/pages/Index/Scan.tsx:636 +msgid "Error while getting camera" +msgstr "" + +#: src/components/modals/QrCodeModal.tsx:125 +#: src/pages/Index/Scan.tsx:659 +msgid "Error while scanning" +msgstr "" + +#: src/components/modals/QrCodeModal.tsx:139 +#: src/pages/Index/Scan.tsx:673 +msgid "Error while stopping" +msgstr "" + +#: src/components/modals/QrCodeModal.tsx:154 +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:746 +msgid "Scanning" +msgstr "" + +#: src/components/modals/QrCodeModal.tsx:154 +#: src/pages/Index/Scan.tsx:746 +msgid "Not scanning" +msgstr "" + +#: src/components/modals/QrCodeModal.tsx:159 +#: src/pages/Index/Scan.tsx:752 +msgid "Select Camera" +msgstr "" + +#: src/components/modals/QrCodeModal.tsx:169 +#: src/pages/Index/Scan.tsx:737 +msgid "Start scanning" +msgstr "" + +#: src/components/modals/QrCodeModal.tsx:176 +#: src/pages/Index/Scan.tsx:729 +msgid "Stop scanning" +msgstr "" + +#: src/components/modals/QrCodeModal.tsx:181 +msgid "No scans yet!" +msgstr "" + +#: src/components/modals/QrCodeModal.tsx:201 +msgid "Close modal" +msgstr "" + +#: src/components/modals/ServerInfoModal.tsx:26 +#: src/pages/Index/Settings/SystemSettings.tsx:36 +msgid "Server" +msgstr "" + +#: src/components/modals/ServerInfoModal.tsx:32 +msgid "Instance Name" +msgstr "" + +#: src/components/modals/ServerInfoModal.tsx:38 +msgid "Database" +msgstr "" + +#: src/components/modals/ServerInfoModal.tsx:38 +#~ msgid "Bebug Mode" +#~ msgstr "Bebug Mode" + +#: src/components/modals/ServerInfoModal.tsx:47 +msgid "Debug Mode" +msgstr "" + +#: src/components/modals/ServerInfoModal.tsx:50 +msgid "Server is running in debug mode" +msgstr "" + +#: src/components/modals/ServerInfoModal.tsx:57 +msgid "Docker Mode" +msgstr "" + +#: src/components/modals/ServerInfoModal.tsx:60 +msgid "Server is deployed using docker" +msgstr "" + +#: src/components/modals/ServerInfoModal.tsx:66 +msgid "Plugin Support" +msgstr "" + +#: src/components/modals/ServerInfoModal.tsx:71 +msgid "Plugin support enabled" +msgstr "" + +#: src/components/modals/ServerInfoModal.tsx:73 +msgid "Plugin support disabled" +msgstr "" + +#: src/components/modals/ServerInfoModal.tsx:80 +msgid "Server status" +msgstr "" + +#: src/components/modals/ServerInfoModal.tsx:86 +msgid "Healthy" +msgstr "" + +#: src/components/modals/ServerInfoModal.tsx:88 +msgid "Issues detected" +msgstr "" + +#: src/components/modals/ServerInfoModal.tsx:97 +msgid "Background Worker" +msgstr "" + +#: src/components/modals/ServerInfoModal.tsx:101 +msgid "Background worker not running" +msgstr "" + +#: src/components/modals/ServerInfoModal.tsx:109 +msgid "Email Settings" +msgstr "" + +#: src/components/modals/ServerInfoModal.tsx:113 +msgid "Email settings not configured" +msgstr "" + +#: src/components/modals/ServerInfoModal.tsx:121 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 +msgid "Version" +msgstr "" + +#: src/components/modals/ServerInfoModal.tsx:127 +msgid "Server Version" +msgstr "" + +#: src/components/nav/Layout.tsx:70 +#: src/tables/part/PartThumbTable.tsx:194 +msgid "Search..." +msgstr "" + +#: src/components/nav/Layout.tsx:73 +msgid "Nothing found..." +msgstr "" + +#: src/components/nav/MainMenu.tsx:40 +#: src/pages/Index/Profile/Profile.tsx:15 +#~ msgid "Profile" +#~ msgstr "Profile" + +#: src/components/nav/MainMenu.tsx:42 +#: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:26 +msgid "Settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:49 +#: src/defaults/menuItems.tsx:15 +msgid "Account settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:57 +#: src/defaults/menuItems.tsx:58 +#: src/pages/Index/Settings/SystemSettings.tsx:300 +msgid "System Settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:67 +#: src/defaults/menuItems.tsx:63 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +msgid "Admin Center" +msgstr "" + +#: src/components/nav/MainMenu.tsx:68 +#~ msgid "Current language {locale}" +#~ msgstr "Current language {locale}" + +#: src/components/nav/MainMenu.tsx:71 +#~ msgid "Switch to pseudo language" +#~ msgstr "Switch to pseudo language" + +#: src/components/nav/MainMenu.tsx:77 +msgid "Logout" +msgstr "" + +#: src/components/nav/NavHoverMenu.tsx:65 +#: src/defaults/actions.tsx:58 +msgid "Open Navigation" +msgstr "" + +#: src/components/nav/NavHoverMenu.tsx:84 +msgid "View all" +msgstr "" + +#: src/components/nav/NavHoverMenu.tsx:100 +#: src/components/nav/NavHoverMenu.tsx:110 +msgid "Get started" +msgstr "" + +#: src/components/nav/NavHoverMenu.tsx:103 +msgid "Overview over high-level objects, functions and possible usecases." +msgstr "" + +#: src/components/nav/NavigationDrawer.tsx:57 +msgid "Navigation" +msgstr "" + +#: src/components/nav/NavigationDrawer.tsx:60 +msgid "Pages" +msgstr "" + +#: src/components/nav/NavigationDrawer.tsx:65 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 +#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 +msgid "Plugins" +msgstr "" + +#: src/components/nav/NavigationDrawer.tsx:75 +#: src/defaults/actions.tsx:30 +msgid "Documentation" +msgstr "" + +#: src/components/nav/NavigationDrawer.tsx:78 +msgid "About" +msgstr "" + +#: src/components/nav/NotificationDrawer.tsx:78 +#: src/pages/Index/Settings/SystemSettings.tsx:101 +#: src/pages/Index/Settings/UserSettings.tsx:96 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 +msgid "Notifications" +msgstr "" + +#: src/components/nav/NotificationDrawer.tsx:95 +msgid "You have no unread notifications." +msgstr "" + +#: src/components/nav/NotificationDrawer.tsx:111 +#: src/components/nav/NotificationDrawer.tsx:117 +#: src/tables/notifications/NotificationsTable.tsx:36 +msgid "Notification" +msgstr "" + +#: src/components/nav/NotificationDrawer.tsx:140 +#: src/pages/Notifications.tsx:73 +msgid "Mark as read" +msgstr "" + +#: src/components/nav/SearchDrawer.tsx:77 +msgid "results" +msgstr "" + +#: src/components/nav/SearchDrawer.tsx:337 +msgid "Enter search text" +msgstr "" + +#: src/components/nav/SearchDrawer.tsx:364 +msgid "Search Options" +msgstr "" + +#: src/components/nav/SearchDrawer.tsx:367 +msgid "Regex search" +msgstr "" + +#: src/components/nav/SearchDrawer.tsx:377 +msgid "Whole word search" +msgstr "" + +#: src/components/nav/SearchDrawer.tsx:416 +msgid "An error occurred during search query" +msgstr "" + +#: src/components/nav/SearchDrawer.tsx:427 +msgid "No results" +msgstr "" + +#: src/components/nav/SearchDrawer.tsx:430 +msgid "No results available for search query" +msgstr "" + +#: src/components/render/Instance.tsx:166 +msgid "Unknown model: {model}" +msgstr "" + +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/build/BuildDetail.tsx:83 +#: src/pages/part/PartDetail.tsx:837 +#: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 +msgid "Part" +msgstr "" + +#: src/components/render/ModelType.tsx:23 +#: src/defaults/links.tsx:28 +#: src/defaults/menuItems.tsx:33 +#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:645 +msgid "Parts" +msgstr "" + +#: src/components/render/ModelType.tsx:31 +msgid "Part Parameter Template" +msgstr "" + +#: src/components/render/ModelType.tsx:32 +msgid "Part Parameter Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:38 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:39 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:163 +#: src/tables/purchasing/SupplierPartTable.tsx:68 +msgid "Supplier Part" +msgstr "" + +#: src/components/render/ModelType.tsx:46 +msgid "Supplier Parts" +msgstr "" + +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 +msgid "Manufacturer Part" +msgstr "" + +#: src/components/render/ModelType.tsx:55 +msgid "Manufacturer Parts" +msgstr "" + +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:291 +msgid "Part Category" +msgstr "" + +#: src/components/render/ModelType.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/part/CategoryDetail.tsx:249 +#: src/pages/part/CategoryDetail.tsx:282 +#: src/pages/part/PartDetail.tsx:827 +msgid "Part Categories" +msgstr "" + +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:563 +#: src/tables/stock/StockTrackingTable.tsx:45 +msgid "Stock Item" +msgstr "" + +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:369 +msgid "Stock Items" +msgstr "" + +#: src/components/render/ModelType.tsx:81 +msgid "Stock Location" +msgstr "" + +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 +#: src/pages/stock/LocationDetail.tsx:361 +#: src/pages/stock/StockDetail.tsx:555 +msgid "Stock Locations" +msgstr "" + +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 +msgid "Stock History" +msgstr "" + +#: src/components/render/ModelType.tsx:96 +msgid "Stock Histories" +msgstr "" + +#: src/components/render/ModelType.tsx:100 +#: src/defaults/links.tsx:30 +#: src/defaults/menuItems.tsx:43 +msgid "Build" +msgstr "" + +#: src/components/render/ModelType.tsx:101 +msgid "Builds" +msgstr "" + +#: src/components/render/ModelType.tsx:109 +msgid "Build Line" +msgstr "" + +#: src/components/render/ModelType.tsx:110 +msgid "Build Lines" +msgstr "" + +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:327 +msgid "Company" +msgstr "" + +#: src/components/render/ModelType.tsx:118 +msgid "Companies" +msgstr "" + +#: src/components/render/ModelType.tsx:126 +#: src/tables/TableHoverCard.tsx:58 +#: src/tables/build/BuildOrderTable.tsx:131 +#: src/tables/purchasing/PurchaseOrderTable.tsx:64 +#: src/tables/sales/ReturnOrderTable.tsx:55 +#: src/tables/sales/SalesOrderTable.tsx:61 +msgid "Project Code" +msgstr "" + +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 +msgid "Project Codes" +msgstr "" + +#: src/components/render/ModelType.tsx:133 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 +msgid "Purchase Order" +msgstr "" + +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:248 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:575 +#: src/pages/purchasing/PurchasingIndex.tsx:20 +msgid "Purchase Orders" +msgstr "" + +#: src/components/render/ModelType.tsx:142 +msgid "Purchase Order Line" +msgstr "" + +#: src/components/render/ModelType.tsx:143 +msgid "Purchase Order Lines" +msgstr "" + +#: src/components/render/ModelType.tsx:147 +#: src/pages/build/BuildDetail.tsx:131 +#: src/pages/sales/SalesOrderDetail.tsx:351 +#: src/pages/stock/StockDetail.tsx:211 +#: src/tables/stock/StockTrackingTable.tsx:118 +msgid "Sales Order" +msgstr "" + +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:263 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/sales/SalesIndex.tsx:21 +msgid "Sales Orders" +msgstr "" + +#: src/components/render/ModelType.tsx:156 +msgid "Sales Order Shipment" +msgstr "" + +#: src/components/render/ModelType.tsx:157 +msgid "Sales Order Shipments" +msgstr "" + +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:327 +#: src/tables/stock/StockTrackingTable.tsx:129 +msgid "Return Order" +msgstr "" + +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:279 +#: src/pages/company/CompanyDetail.tsx:219 +#: src/pages/sales/SalesIndex.tsx:27 +msgid "Return Orders" +msgstr "" + +#: src/components/render/ModelType.tsx:172 +#: src/tables/company/AddressTable.tsx:47 +msgid "Address" +msgstr "" + +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 +msgid "Addresses" +msgstr "" + +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 +msgid "Contact" +msgstr "" + +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 +msgid "Contacts" +msgstr "" + +#: src/components/render/ModelType.tsx:186 +msgid "Owner" +msgstr "" + +#: src/components/render/ModelType.tsx:187 +msgid "Owners" +msgstr "" + +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:193 +#: src/tables/stock/StockTrackingTable.tsx:195 +msgid "User" +msgstr "" + +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 +#: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 +msgid "Users" +msgstr "" + +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 +msgid "Shipment" +msgstr "" + +#: src/components/render/Part.tsx:15 +#: src/defaults/links.tsx:29 +#: src/defaults/menuItems.tsx:38 +#: src/pages/Index/Settings/SystemSettings.tsx:203 +#: src/pages/part/PartDetail.tsx:494 +#: src/pages/stock/LocationDetail.tsx:345 +#: src/pages/stock/StockDetail.tsx:355 +#: src/tables/stock/StockItemTable.tsx:57 +msgid "Stock" +msgstr "" + +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:520 +msgid "Serial Number" +msgstr "" + +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 +#: src/pages/part/pricing/BomPricingPanel.tsx:108 +#: src/pages/part/pricing/PriceBreakPanel.tsx:85 +#: src/pages/part/pricing/PriceBreakPanel.tsx:167 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:526 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 +msgid "Quantity" +msgstr "" + +#: src/components/settings/SettingItem.tsx:47 +#: src/components/settings/SettingItem.tsx:100 +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" + +#: src/components/settings/SettingList.tsx:67 +msgid "Edit Setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" +msgstr "" + +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" + +#: src/components/tables/FilterGroup.tsx:29 +#~ msgid "Add table filter" +#~ msgstr "Add table filter" + +#: src/components/tables/FilterGroup.tsx:44 +#~ msgid "Clear all filters" +#~ msgstr "Clear all filters" + +#: src/components/tables/FilterGroup.tsx:51 +#~ msgid "Add filter" +#~ msgstr "Add filter" + +#: src/components/tables/FilterSelectModal.tsx:56 +#~ msgid "True" +#~ msgstr "True" + +#: src/components/tables/FilterSelectModal.tsx:57 +#~ msgid "False" +#~ msgstr "False" + +#: src/components/tables/FilterSelectModal.tsx:143 +#~ msgid "Add Table Filter" +#~ msgstr "Add Table Filter" + +#: src/components/tables/FilterSelectModal.tsx:145 +#~ msgid "Select from the available filters" +#~ msgstr "Select from the available filters" + +#: src/components/tables/bom/BomTable.tsx:113 +#~ msgid "Substitutes" +#~ msgstr "Substitutes" + +#: src/components/tables/bom/BomTable.tsx:135 +#~ msgid "Allow Variants" +#~ msgstr "Allow Variants" + +#: src/components/tables/bom/BomTable.tsx:139 +#: src/components/tables/bom/BomTable.tsx:265 +#: src/components/tables/bom/UsedInTable.tsx:64 +#~ msgid "Gets Inherited" +#~ msgstr "Gets Inherited" + +#: src/components/tables/bom/BomTable.tsx:200 +#~ msgid "Validate" +#~ msgstr "Validate" + +#: src/components/tables/bom/BomTable.tsx:250 +#~ msgid "Has Available Stock" +#~ msgstr "Has Available Stock" + +#: src/components/tables/bom/UsedInTable.tsx:40 +#~ msgid "Required Part" +#~ msgstr "Required Part" + +#: src/components/tables/build/BuildLineTable.tsx:152 +#~ msgid "Required Quantity" +#~ msgstr "Required Quantity" + +#: src/components/tables/build/BuildOrderTable.tsx:52 +#~ msgid "Progress" +#~ msgstr "Progress" + +#: src/components/tables/build/BuildOrderTable.tsx:65 +#~ msgid "Priority" +#~ msgstr "Priority" + +#: src/components/tables/company/AddressTable.tsx:68 +#~ msgid "Postal Code" +#~ msgstr "Postal Code" + +#: src/components/tables/company/AddressTable.tsx:74 +#~ msgid "City" +#~ msgstr "City" + +#: src/components/tables/company/AddressTable.tsx:80 +#~ msgid "State / Province" +#~ msgstr "State / Province" + +#: src/components/tables/company/AddressTable.tsx:86 +#~ msgid "Country" +#~ msgstr "Country" + +#: src/components/tables/company/AddressTable.tsx:92 +#~ msgid "Courier Notes" +#~ msgstr "Courier Notes" + +#: src/components/tables/company/AddressTable.tsx:98 +#~ msgid "Internal Notes" +#~ msgstr "Internal Notes" + +#: src/components/tables/company/AddressTable.tsx:130 +#~ msgid "Address updated" +#~ msgstr "Address updated" + +#: src/components/tables/company/AddressTable.tsx:142 +#~ msgid "Address deleted" +#~ msgstr "Address deleted" + +#: src/components/tables/company/CompanyTable.tsx:32 +#~ msgid "Company Name" +#~ msgstr "Company Name" + +#: src/components/tables/company/ContactTable.tsx:41 +#~ msgid "Phone" +#~ msgstr "Phone" + +#: src/components/tables/company/ContactTable.tsx:53 +#~ msgid "Role" +#~ msgstr "Role" + +#: src/components/tables/company/ContactTable.tsx:78 +#~ msgid "Contact updated" +#~ msgstr "Contact updated" + +#: src/components/tables/company/ContactTable.tsx:90 +#~ msgid "Contact deleted" +#~ msgstr "Contact deleted" + +#: src/components/tables/company/ContactTable.tsx:92 +#~ msgid "Are you sure you want to delete this contact?" +#~ msgstr "Are you sure you want to delete this contact?" + +#: src/components/tables/company/ContactTable.tsx:108 +#~ msgid "Create Contact" +#~ msgstr "Create Contact" + +#: src/components/tables/company/ContactTable.tsx:110 +#~ msgid "Contact created" +#~ msgstr "Contact created" + +#: src/components/tables/general/AttachmentTable.tsx:47 +#~ msgid "Comment" +#~ msgstr "Comment" + +#: src/components/tables/general/AttachmentTable.tsx:56 +#~ msgid "Uploaded" +#~ msgstr "Uploaded" + +#: src/components/tables/part/PartCategoryTable.tsx:122 +#~ msgid "Part category updated" +#~ msgstr "Part category updated" + +#: src/components/tables/part/PartParameterTable.tsx:41 +#~ msgid "Parameter" +#~ msgstr "Parameter" + +#: src/components/tables/part/PartParameterTable.tsx:114 +#~ msgid "Part parameter updated" +#~ msgstr "Part parameter updated" + +#: src/components/tables/part/PartParameterTable.tsx:130 +#~ msgid "Part parameter deleted" +#~ msgstr "Part parameter deleted" + +#: src/components/tables/part/PartParameterTable.tsx:132 +#~ msgid "Are you sure you want to remove this parameter?" +#~ msgstr "Are you sure you want to remove this parameter?" + +#: src/components/tables/part/PartParameterTable.tsx:159 +#~ msgid "Part parameter added" +#~ msgstr "Part parameter added" + +#: src/components/tables/part/PartParameterTemplateTable.tsx:67 +#~ msgid "Choices" +#~ msgstr "Choices" + +#: src/components/tables/part/PartParameterTemplateTable.tsx:83 +#~ msgid "Remove parameter template" +#~ msgstr "Remove parameter template" + +#: src/components/tables/part/PartParameterTemplateTable.tsx:84 +#~ msgid "Parameter template updated" +#~ msgstr "Parameter template updated" + +#: src/components/tables/part/PartParameterTemplateTable.tsx:96 +#~ msgid "Parameter template deleted" +#~ msgstr "Parameter template deleted" + +#: src/components/tables/part/PartParameterTemplateTable.tsx:98 +#~ msgid "Are you sure you want to remove this parameter template?" +#~ msgstr "Are you sure you want to remove this parameter template?" + +#: src/components/tables/part/PartParameterTemplateTable.tsx:110 +#~ msgid "Create Parameter Template" +#~ msgstr "Create Parameter Template" + +#: src/components/tables/part/PartParameterTemplateTable.tsx:112 +#~ msgid "Parameter template created" +#~ msgstr "Parameter template created" + +#: src/components/tables/part/PartTable.tsx:211 +#~ msgid "Detail" +#~ msgstr "Detail" + +#: src/components/tables/part/PartTestTemplateTable.tsx:30 +#~ msgid "Test Name" +#~ msgstr "Test Name" + +#: src/components/tables/part/PartTestTemplateTable.tsx:86 +#~ msgid "Template updated" +#~ msgstr "Template updated" + +#: src/components/tables/part/PartTestTemplateTable.tsx:98 +#~ msgid "Test Template deleted" +#~ msgstr "Test Template deleted" + +#: src/components/tables/part/PartTestTemplateTable.tsx:115 +#~ msgid "Create Test Template" +#~ msgstr "Create Test Template" + +#: src/components/tables/part/PartTestTemplateTable.tsx:117 +#~ msgid "Template created" +#~ msgstr "Template created" + +#: src/components/tables/part/RelatedPartTable.tsx:79 +#~ msgid "Related Part" +#~ msgstr "Related Part" + +#: src/components/tables/part/RelatedPartTable.tsx:82 +#~ msgid "Related part added" +#~ msgstr "Related part added" + +#: src/components/tables/part/RelatedPartTable.tsx:114 +#~ msgid "Related part deleted" +#~ msgstr "Related part deleted" + +#: src/components/tables/part/RelatedPartTable.tsx:115 +#~ msgid "Are you sure you want to remove this relationship?" +#~ msgstr "Are you sure you want to remove this relationship?" + +#: src/components/tables/plugin/PluginListTable.tsx:191 +#~ msgid "Installation path" +#~ msgstr "Installation path" + +#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:55 +#~ msgid "Receive" +#~ msgstr "Receive" + +#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:81 +#~ msgid "Line item updated" +#~ msgstr "Line item updated" + +#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:232 +#~ msgid "Line item added" +#~ msgstr "Line item added" + +#: src/components/tables/settings/CustomUnitsTable.tsx:37 +#~ msgid "Definition" +#~ msgstr "Definition" + +#: src/components/tables/settings/CustomUnitsTable.tsx:43 +#~ msgid "Symbol" +#~ msgstr "Symbol" + +#: src/components/tables/settings/CustomUnitsTable.tsx:59 +#~ msgid "Edit custom unit" +#~ msgstr "Edit custom unit" + +#: src/components/tables/settings/CustomUnitsTable.tsx:66 +#~ msgid "Custom unit updated" +#~ msgstr "Custom unit updated" + +#: src/components/tables/settings/CustomUnitsTable.tsx:76 +#~ msgid "Delete custom unit" +#~ msgstr "Delete custom unit" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +#~ msgid "Custom unit deleted" +#~ msgstr "Custom unit deleted" + +#: src/components/tables/settings/CustomUnitsTable.tsx:79 +#~ msgid "Are you sure you want to remove this custom unit?" +#~ msgstr "Are you sure you want to remove this custom unit?" + +#: src/components/tables/settings/CustomUnitsTable.tsx:97 +#~ msgid "Custom unit created" +#~ msgstr "Custom unit created" + +#: src/components/tables/settings/GroupTable.tsx:45 +#~ msgid "Group updated" +#~ msgstr "Group updated" + +#: src/components/tables/settings/GroupTable.tsx:131 +#~ msgid "Added group" +#~ msgstr "Added group" + +#: src/components/tables/settings/ProjectCodeTable.tsx:49 +#~ msgid "Edit project code" +#~ msgstr "Edit project code" + +#: src/components/tables/settings/ProjectCodeTable.tsx:56 +#~ msgid "Project code updated" +#~ msgstr "Project code updated" + +#: src/components/tables/settings/ProjectCodeTable.tsx:66 +#~ msgid "Delete project code" +#~ msgstr "Delete project code" + +#: src/components/tables/settings/ProjectCodeTable.tsx:67 +#~ msgid "Project code deleted" +#~ msgstr "Project code deleted" + +#: src/components/tables/settings/ProjectCodeTable.tsx:69 +#~ msgid "Are you sure you want to remove this project code?" +#~ msgstr "Are you sure you want to remove this project code?" + +#: src/components/tables/settings/ProjectCodeTable.tsx:88 +#~ msgid "Added project code" +#~ msgstr "Added project code" + +#: src/components/tables/settings/UserDrawer.tsx:92 +#~ msgid "User permission changed successfully" +#~ msgstr "User permission changed successfully" + +#: src/components/tables/settings/UserDrawer.tsx:93 +#~ msgid "Some changes might only take effect after the user refreshes their login." +#~ msgstr "Some changes might only take effect after the user refreshes their login." + +#: src/components/tables/settings/UserDrawer.tsx:118 +#~ msgid "Changed user active status successfully" +#~ msgstr "Changed user active status successfully" + +#: src/components/tables/settings/UserDrawer.tsx:119 +#~ msgid "Set to {active}" +#~ msgstr "Set to {active}" + +#: src/components/tables/settings/UserDrawer.tsx:142 +#~ msgid "User details for {0}" +#~ msgstr "User details for {0}" + +#: src/components/tables/settings/UserDrawer.tsx:176 +#~ msgid "Rights" +#~ msgstr "Rights" + +#: src/components/tables/settings/UserTable.tsx:106 +#~ msgid "User updated" +#~ msgstr "User updated" + +#: src/components/tables/settings/UserTable.tsx:117 +#~ msgid "user deleted" +#~ msgstr "user deleted" + +#: src/components/tables/settings/UserTable.tsx:168 +#~ msgid "First Name" +#~ msgstr "First Name" + +#: src/components/tables/settings/UserTable.tsx:173 +#~ msgid "Last Name" +#~ msgstr "Last Name" + +#: src/components/tables/settings/UserTable.tsx:186 +#~ msgid "Staff" +#~ msgstr "Staff" + +#: src/components/tables/settings/UserTable.tsx:190 +#~ msgid "Superuser" +#~ msgstr "Superuser" + +#: src/components/tables/stock/StockItemTable.tsx:198 +#~ msgid "Expiry Date" +#~ msgstr "Expiry Date" + +#: src/components/tables/stock/StockItemTable.tsx:247 +#~ msgid "Test Filter" +#~ msgstr "Test Filter" + +#: src/components/tables/stock/StockItemTable.tsx:248 +#~ msgid "This is a test filter" +#~ msgstr "This is a test filter" + +#: src/components/tables/stock/StockLocationTable.tsx:145 +#~ msgid "Stock location updated" +#~ msgstr "Stock location updated" + +#: src/components/widgets/DisplayWidget.tsx:11 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 +msgid "Display Settings" +msgstr "" + +#: src/components/widgets/DisplayWidget.tsx:15 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 +msgid "Color Mode" +msgstr "" + +#: src/components/widgets/DisplayWidget.tsx:21 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 +msgid "Language" +msgstr "" + +#: src/components/widgets/FeedbackWidget.tsx:19 +msgid "Something is new: Platform UI" +msgstr "" + +#: src/components/widgets/FeedbackWidget.tsx:21 +msgid "We are building a new UI with a modern stack. What you currently see is not fixed and will be redesigned but demonstrates the UI/UX possibilities we will have going forward." +msgstr "" + +#: src/components/widgets/FeedbackWidget.tsx:32 +msgid "Provide Feedback" +msgstr "" + +#: src/components/widgets/GetStartedWidget.tsx:11 +msgid "Getting started" +msgstr "" + +#: src/components/widgets/MarkdownEditor.tsx:108 +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" + +#: src/components/widgets/MarkdownEditor.tsx:146 +#~ msgid "Notes saved" +#~ msgstr "Notes saved" + +#: src/components/widgets/WidgetLayout.tsx:166 +msgid "Layout" +msgstr "" + +#: src/components/widgets/WidgetLayout.tsx:172 +msgid "Reset Layout" +msgstr "" + +#: src/components/widgets/WidgetLayout.tsx:185 +msgid "Stop Edit" +msgstr "" + +#: src/components/widgets/WidgetLayout.tsx:185 +msgid "Edit Layout" +msgstr "" + +#: src/components/widgets/WidgetLayout.tsx:191 +msgid "Appearance" +msgstr "" + +#: src/components/widgets/WidgetLayout.tsx:203 +msgid "Show Boxes" +msgstr "" + +#: src/contexts/LanguageContext.tsx:20 +msgid "Bulgarian" +msgstr "" + +#: src/contexts/LanguageContext.tsx:21 +msgid "Czech" +msgstr "" + +#: src/contexts/LanguageContext.tsx:22 +msgid "Danish" +msgstr "" + +#: src/contexts/LanguageContext.tsx:23 +msgid "German" +msgstr "" + +#: src/contexts/LanguageContext.tsx:24 +msgid "Greek" +msgstr "" + +#: src/contexts/LanguageContext.tsx:25 +msgid "English" +msgstr "" + +#: src/contexts/LanguageContext.tsx:26 +msgid "Spanish" +msgstr "" + +#: src/contexts/LanguageContext.tsx:27 +msgid "Spanish (Mexican)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:28 +msgid "Farsi / Persian" +msgstr "" + +#: src/contexts/LanguageContext.tsx:29 +msgid "Finnish" +msgstr "" + +#: src/contexts/LanguageContext.tsx:30 +msgid "French" +msgstr "" + +#: src/contexts/LanguageContext.tsx:31 +msgid "Hebrew" +msgstr "" + +#: src/contexts/LanguageContext.tsx:32 +msgid "Hindi" +msgstr "" + +#: src/contexts/LanguageContext.tsx:33 +msgid "Hungarian" +msgstr "" + +#: src/contexts/LanguageContext.tsx:34 +msgid "Italian" +msgstr "" + +#: src/contexts/LanguageContext.tsx:35 +msgid "Japanese" +msgstr "" + +#: src/contexts/LanguageContext.tsx:36 +msgid "Korean" +msgstr "" + +#: src/contexts/LanguageContext.tsx:37 +msgid "Latvian" +msgstr "" + +#: src/contexts/LanguageContext.tsx:38 +msgid "Dutch" +msgstr "" + +#: src/contexts/LanguageContext.tsx:39 +msgid "Norwegian" +msgstr "" + +#: src/contexts/LanguageContext.tsx:40 +msgid "Polish" +msgstr "" + +#: src/contexts/LanguageContext.tsx:41 +msgid "Portuguese" +msgstr "" + +#: src/contexts/LanguageContext.tsx:42 +msgid "Portuguese (Brazilian)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:43 +msgid "Romanian" +msgstr "" + +#: src/contexts/LanguageContext.tsx:44 +msgid "Russian" +msgstr "" + +#: src/contexts/LanguageContext.tsx:45 +msgid "Slovak" +msgstr "" + +#: src/contexts/LanguageContext.tsx:46 +msgid "Slovenian" +msgstr "" + +#: src/contexts/LanguageContext.tsx:47 +msgid "Swedish" +msgstr "" + +#: src/contexts/LanguageContext.tsx:48 +msgid "Thai" +msgstr "" + +#: src/contexts/LanguageContext.tsx:49 +msgid "Turkish" +msgstr "" + +#: src/contexts/LanguageContext.tsx:50 +msgid "Ukrainian" +msgstr "" + +#: src/contexts/LanguageContext.tsx:51 +msgid "Vietnamese" +msgstr "" + +#: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 +msgid "Chinese (Traditional)" +msgstr "" + +#: src/defaults/actions.tsx:16 +#: src/defaults/links.tsx:26 +#: src/defaults/menuItems.tsx:9 +msgid "Home" +msgstr "" + +#: src/defaults/actions.tsx:23 +#: src/defaults/links.tsx:27 +#: src/defaults/menuItems.tsx:28 +#: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/Settings/UserSettings.tsx:42 +msgid "Dashboard" +msgstr "" + +#: src/defaults/actions.tsx:24 +msgid "Go to the InvenTree dashboard" +msgstr "" + +#: src/defaults/actions.tsx:31 +msgid "Visit the documentation to learn more about InvenTree" +msgstr "" + +#: src/defaults/actions.tsx:37 +#: src/defaults/links.tsx:92 +#: src/defaults/links.tsx:122 +msgid "About InvenTree" +msgstr "" + +#: src/defaults/actions.tsx:38 +#: src/defaults/links.tsx:123 +msgid "About the InvenTree org" +msgstr "" + +#: src/defaults/actions.tsx:44 +msgid "Server Information" +msgstr "" + +#: src/defaults/actions.tsx:45 +#: src/defaults/links.tsx:117 +msgid "About this Inventree instance" +msgstr "" + +#: src/defaults/actions.tsx:51 +#: src/defaults/links.tsx:105 +msgid "License Information" +msgstr "" + +#: src/defaults/actions.tsx:52 +#: src/defaults/links.tsx:129 +msgid "Licenses for dependencies of the service" +msgstr "" + +#: src/defaults/actions.tsx:59 +msgid "Open the main navigation menu" +msgstr "" + +#: src/defaults/dashboardItems.tsx:15 +msgid "Subscribed Parts" +msgstr "" + +#: src/defaults/dashboardItems.tsx:22 +msgid "Subscribed Categories" +msgstr "" + +#: src/defaults/dashboardItems.tsx:29 +msgid "Latest Parts" +msgstr "" + +#: src/defaults/dashboardItems.tsx:36 +msgid "BOM Waiting Validation" +msgstr "" + +#: src/defaults/dashboardItems.tsx:43 +msgid "Recently Updated" +msgstr "" + +#: src/defaults/dashboardItems.tsx:50 +#: src/tables/part/PartTable.tsx:216 +msgid "Low Stock" +msgstr "" + +#: src/defaults/dashboardItems.tsx:57 +msgid "Depleted Stock" +msgstr "" + +#: src/defaults/dashboardItems.tsx:64 +msgid "Required for Build Orders" +msgstr "" + +#: src/defaults/dashboardItems.tsx:71 +msgid "Expired Stock" +msgstr "" + +#: src/defaults/dashboardItems.tsx:78 +msgid "Stale Stock" +msgstr "" + +#: src/defaults/dashboardItems.tsx:85 +msgid "Build Orders In Progress" +msgstr "" + +#: src/defaults/dashboardItems.tsx:92 +msgid "Overdue Build Orders" +msgstr "" + +#: src/defaults/dashboardItems.tsx:99 +msgid "Outstanding Purchase Orders" +msgstr "" + +#: src/defaults/dashboardItems.tsx:106 +msgid "Overdue Purchase Orders" +msgstr "" + +#: src/defaults/dashboardItems.tsx:113 +msgid "Outstanding Sales Orders" +msgstr "" + +#: src/defaults/dashboardItems.tsx:120 +msgid "Overdue Sales Orders" +msgstr "" + +#: src/defaults/dashboardItems.tsx:127 +msgid "Current News" +msgstr "" + +#: src/defaults/defaultHostList.tsx:8 +#~ msgid "InvenTree Demo" +#~ msgstr "InvenTree Demo" + +#: src/defaults/defaultHostList.tsx:16 +#~ msgid "Local Server" +#~ msgstr "Local Server" + +#: src/defaults/links.tsx:11 +#: src/pages/company/CompanyDetail.tsx:92 +msgid "Website" +msgstr "" + +#: src/defaults/links.tsx:16 +msgid "GitHub" +msgstr "" + +#: src/defaults/links.tsx:21 +msgid "Demo" +msgstr "" + +#: src/defaults/links.tsx:31 +#: src/defaults/menuItems.tsx:48 +#: src/pages/company/ManufacturerDetail.tsx:9 +#: src/pages/company/ManufacturerPartDetail.tsx:235 +#: src/pages/company/SupplierDetail.tsx:9 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 +#: src/pages/purchasing/PurchasingIndex.tsx:52 +msgid "Purchasing" +msgstr "" + +#: src/defaults/links.tsx:32 +#: src/defaults/menuItems.tsx:53 +#: src/pages/company/CustomerDetail.tsx:9 +#: src/pages/sales/ReturnOrderDetail.tsx:332 +#: src/pages/sales/SalesIndex.tsx:45 +#: src/pages/sales/SalesOrderDetail.tsx:356 +msgid "Sales" +msgstr "" + +#: src/defaults/links.tsx:35 +#: src/defaults/menuItems.tsx:71 +#: src/pages/Index/Playground.tsx:238 +msgid "Playground" +msgstr "" + +#: src/defaults/links.tsx:49 +msgid "Getting Started" +msgstr "" + +#: src/defaults/links.tsx:50 +msgid "Getting started with InvenTree" +msgstr "" + +#: src/defaults/links.tsx:56 +msgid "API" +msgstr "" + +#: src/defaults/links.tsx:57 +msgid "InvenTree API documentation" +msgstr "" + +#: src/defaults/links.tsx:62 +msgid "Developer Manual" +msgstr "" + +#: src/defaults/links.tsx:63 +msgid "InvenTree developer manual" +msgstr "" + +#: src/defaults/links.tsx:68 +msgid "FAQ" +msgstr "" + +#: src/defaults/links.tsx:69 +msgid "Frequently asked questions" +msgstr "" + +#: src/defaults/links.tsx:76 +#~ msgid "Instance" +#~ msgstr "Instance" + +#: src/defaults/links.tsx:79 +#: src/defaults/links.tsx:116 +msgid "System Information" +msgstr "" + +#: src/defaults/links.tsx:83 +#~ msgid "InvenTree" +#~ msgstr "InvenTree" + +#: src/defaults/links.tsx:117 +#~ msgid "Licenses for packages used by InvenTree" +#~ msgstr "Licenses for packages used by InvenTree" + +#: src/defaults/links.tsx:128 +msgid "Licenses" +msgstr "" + +#: src/defaults/menuItems.tsx:7 +#~ msgid "Open sourcea" +#~ msgstr "Open sourcea" + +#: src/defaults/menuItems.tsx:9 +#~ msgid "Open source" +#~ msgstr "Open source" + +#: src/defaults/menuItems.tsx:10 +#~ msgid "Start page of your instance." +#~ msgstr "Start page of your instance." + +#: src/defaults/menuItems.tsx:10 +#~ msgid "This Pokémon’s cry is very loud and distracting" +#~ msgstr "This Pokémon’s cry is very loud and distracting" + +#: src/defaults/menuItems.tsx:12 +#~ msgid "This Pokémon’s cry is very loud and distracting and more and more and more" +#~ msgstr "This Pokémon’s cry is very loud and distracting and more and more and more" + +#: src/defaults/menuItems.tsx:15 +#~ msgid "Profile page" +#~ msgstr "Profile page" + +#: src/defaults/menuItems.tsx:17 +msgid "User attributes and design settings." +msgstr "" + +#: src/defaults/menuItems.tsx:21 +#~ msgid "Free for everyone" +#~ msgstr "Free for everyone" + +#: src/defaults/menuItems.tsx:22 +#~ msgid "The fluid of Smeargle’s tail secretions changes" +#~ msgstr "The fluid of Smeargle’s tail secretions changes" + +#: src/defaults/menuItems.tsx:23 +msgid "View for interactive scanning and multiple actions." +msgstr "" + +#: src/defaults/menuItems.tsx:24 +#~ msgid "The fluid of Smeargle’s tail secretions changes in the intensity" +#~ msgstr "The fluid of Smeargle’s tail secretions changes in the intensity" + +#: src/defaults/menuItems.tsx:32 +#~ msgid "abc" +#~ msgstr "abc" + +#: src/defaults/menuItems.tsx:37 +#~ msgid "Random image" +#~ msgstr "Random image" + +#: src/defaults/menuItems.tsx:40 +#~ msgid "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore the feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore the feugait nulla facilisi. Name liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assume. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, At accusam aliquyam diam diam dolore dolores duo eirmod eos erat, et nonumy sed tempor et et invidunt justo labore Stet clita ea et gubergren, kasd magna no rebum. sanctus sea sed takimata ut vero voluptua. est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat. Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor" +#~ msgstr "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore the feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore the feugait nulla facilisi. Name liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assume. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, At accusam aliquyam diam diam dolore dolores duo eirmod eos erat, et nonumy sed tempor et et invidunt justo labore Stet clita ea et gubergren, kasd magna no rebum. sanctus sea sed takimata ut vero voluptua. est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat. Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor" + +#: src/defaults/menuItems.tsx:105 +#~ msgid "Yanma is capable of seeing 360 degrees without" +#~ msgstr "Yanma is capable of seeing 360 degrees without" + +#: src/defaults/menuItems.tsx:111 +#~ msgid "The shell’s rounded shape and the grooves on its." +#~ msgstr "The shell’s rounded shape and the grooves on its." + +#: src/defaults/menuItems.tsx:116 +#~ msgid "Analytics" +#~ msgstr "Analytics" + +#: src/defaults/menuItems.tsx:118 +#~ msgid "This Pokémon uses its flying ability to quickly chase" +#~ msgstr "This Pokémon uses its flying ability to quickly chase" + +#: src/defaults/menuItems.tsx:125 +#~ msgid "Combusken battles with the intensely hot flames it spews" +#~ msgstr "Combusken battles with the intensely hot flames it spews" + +#: src/forms/AttachmentForms.tsx:57 +#~ msgid "Add File" +#~ msgstr "Add File" + +#: src/forms/AttachmentForms.tsx:57 +#~ msgid "Add Link" +#~ msgstr "Add Link" + +#: src/forms/AttachmentForms.tsx:58 +#~ msgid "File added" +#~ msgstr "File added" + +#: src/forms/AttachmentForms.tsx:58 +#~ msgid "Link added" +#~ msgstr "Link added" + +#: src/forms/AttachmentForms.tsx:99 +#~ msgid "Edit File" +#~ msgstr "Edit File" + +#: src/forms/AttachmentForms.tsx:99 +#~ msgid "Edit Link" +#~ msgstr "Edit Link" + +#: src/forms/AttachmentForms.tsx:100 +#~ msgid "File updated" +#~ msgstr "File updated" + +#: src/forms/AttachmentForms.tsx:100 +#~ msgid "Link updated" +#~ msgstr "Link updated" + +#: src/forms/AttachmentForms.tsx:125 +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" + +#: src/forms/AttachmentForms.tsx:128 +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" + +#: src/forms/BuildForms.tsx:146 +msgid "Next serial number" +msgstr "" + +#: src/forms/BuildForms.tsx:150 +msgid "Latest serial number" +msgstr "" + +#: src/forms/BuildForms.tsx:222 +msgid "Remove output" +msgstr "" + +#: src/forms/BuildForms.tsx:304 +msgid "Complete Build Outputs" +msgstr "" + +#: src/forms/BuildForms.tsx:308 +msgid "Build outputs have been completed" +msgstr "" + +#: src/forms/BuildForms.tsx:377 +msgid "Scrap Build Outputs" +msgstr "" + +#: src/forms/BuildForms.tsx:381 +msgid "Build outputs have been scrapped" +msgstr "" + +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 +msgid "Cancel Build Outputs" +msgstr "" + +#: src/forms/BuildForms.tsx:414 +msgid "Selected build outputs will be deleted" +msgstr "" + +#: src/forms/BuildForms.tsx:441 +msgid "Build outputs have been cancelled" +msgstr "" + +#: src/forms/CompanyForms.tsx:150 +#~ msgid "Company updated" +#~ msgstr "Company updated" + +#: src/forms/PartForms.tsx:100 +msgid "Parent part category" +msgstr "" + +#: src/forms/PartForms.tsx:106 +#~ msgid "Create Part" +#~ msgstr "Create Part" + +#: src/forms/PartForms.tsx:108 +#~ msgid "Part created" +#~ msgstr "Part created" + +#: src/forms/PartForms.tsx:129 +#~ msgid "Part updated" +#~ msgstr "Part updated" + +#: src/forms/PurchaseOrderForms.tsx:279 +msgid "Choose Location" +msgstr "" + +#: src/forms/PurchaseOrderForms.tsx:287 +msgid "Item Destination selected" +msgstr "" + +#: src/forms/PurchaseOrderForms.tsx:296 +msgid "Part category default location selected" +msgstr "" + +#: src/forms/PurchaseOrderForms.tsx:306 +msgid "Received stock location selected" +msgstr "" + +#: src/forms/PurchaseOrderForms.tsx:311 +msgid "Default location selected" +msgstr "" + +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 +msgid "Scan Barcode" +msgstr "" + +#: src/forms/PurchaseOrderForms.tsx:366 +msgid "Set Location" +msgstr "" + +#: src/forms/PurchaseOrderForms.tsx:373 +msgid "Assign Batch Code{0}" +msgstr "" + +#: src/forms/PurchaseOrderForms.tsx:382 +msgid "Change Status" +msgstr "" + +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 +msgid "Remove item from list" +msgstr "" + +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:171 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 +msgid "Location" +msgstr "" + +#: src/forms/PurchaseOrderForms.tsx:448 +msgid "Store at default location" +msgstr "" + +#: src/forms/PurchaseOrderForms.tsx:461 +msgid "Store at line item destination" +msgstr "" + +#: src/forms/PurchaseOrderForms.tsx:471 +msgid "Store with already received stock" +msgstr "" + +#: src/forms/PurchaseOrderForms.tsx:627 +msgid "Receive Line Items" +msgstr "" + +#: src/forms/PurchaseOrderForms.tsx:658 +#~ msgid "Receive line items" +#~ msgstr "Receive line items" + +#: src/forms/StockForms.tsx:101 +msgid "Add given quantity as packs instead of individual items" +msgstr "" + +#: src/forms/StockForms.tsx:110 +#~ msgid "Create Stock Item" +#~ msgstr "Create Stock Item" + +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "" + +#: src/forms/StockForms.tsx:158 +#~ msgid "Stock item updated" +#~ msgstr "Stock item updated" + +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:378 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 +msgid "Loading..." +msgstr "" + +#: src/forms/StockForms.tsx:381 +msgid "Move to default location" +msgstr "" + +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:208 +#: src/pages/part/PartDetail.tsx:661 +#: src/tables/stock/StockItemTable.tsx:290 +msgid "In Stock" +msgstr "" + +#: src/forms/StockForms.tsx:449 +msgid "Move" +msgstr "" + +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 +msgid "Actions" +msgstr "" + +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 +msgid "Add" +msgstr "" + +#: src/forms/StockForms.tsx:540 +#: src/pages/Index/Scan.tsx:266 +#: src/pages/stock/StockDetail.tsx:447 +msgid "Count" +msgstr "" + +#: src/forms/StockForms.tsx:785 +msgid "Add Stock" +msgstr "" + +#: src/forms/StockForms.tsx:794 +msgid "Remove Stock" +msgstr "" + +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:788 +msgid "Transfer Stock" +msgstr "" + +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:777 +msgid "Count Stock" +msgstr "" + +#: src/forms/StockForms.tsx:821 +msgid "Change Stock Status" +msgstr "" + +#: src/forms/StockForms.tsx:830 +msgid "Merge Stock" +msgstr "" + +#: src/forms/StockForms.tsx:849 +msgid "Delete Stock Items" +msgstr "" + +#: src/forms/StockForms.tsx:856 +msgid "Parent stock location" +msgstr "" + +#: src/functions/auth.tsx:34 +#~ msgid "Error fetching token from server." +#~ msgstr "Error fetching token from server." + +#: src/functions/auth.tsx:36 +#~ msgid "Logout successfull" +#~ msgstr "Logout successfull" + +#: src/functions/auth.tsx:60 +#~ msgid "See you soon." +#~ msgstr "See you soon." + +#: src/functions/auth.tsx:70 +#~ msgid "Logout successful" +#~ msgstr "Logout successful" + +#: src/functions/auth.tsx:71 +#~ msgid "You have been logged out" +#~ msgstr "You have been logged out" + +#: src/functions/auth.tsx:76 +msgid "Logged Out" +msgstr "" + +#: src/functions/auth.tsx:77 +msgid "Successfully logged out" +msgstr "" + +#: src/functions/auth.tsx:115 +msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." +msgstr "" + +#: src/functions/auth.tsx:122 +#: src/pages/Auth/Set-Password.tsx:39 +msgid "Reset failed" +msgstr "" + +#: src/functions/auth.tsx:141 +#~ msgid "Already logged in" +#~ msgstr "Already logged in" + +#: src/functions/auth.tsx:142 +#~ msgid "Found an existing login - using it to log you in." +#~ msgstr "Found an existing login - using it to log you in." + +#: src/functions/auth.tsx:143 +#~ msgid "Found an existing login - welcome back!" +#~ msgstr "Found an existing login - welcome back!" + +#: src/functions/auth.tsx:153 +msgid "Logged In" +msgstr "" + +#: src/functions/auth.tsx:154 +msgid "Successfully logged in" +msgstr "" + +#: src/functions/forms.tsx:50 +#~ msgid "Form method not provided" +#~ msgstr "Form method not provided" + +#: src/functions/forms.tsx:59 +#~ msgid "Response did not contain action data" +#~ msgstr "Response did not contain action data" + +#: src/functions/forms.tsx:182 +msgid "Invalid Form" +msgstr "" + +#: src/functions/forms.tsx:183 +msgid "method parameter not supplied" +msgstr "" + +#: src/functions/notifications.tsx:10 +msgid "Not implemented" +msgstr "" + +#: src/functions/notifications.tsx:11 +msgid "This feature is not yet implemented" +msgstr "" + +#: src/functions/notifications.tsx:21 +msgid "Permission denied" +msgstr "" + +#: src/functions/notifications.tsx:22 +msgid "You do not have permission to perform this action" +msgstr "" + +#: src/functions/notifications.tsx:33 +msgid "Invalid Return Code" +msgstr "" + +#: src/functions/notifications.tsx:34 +msgid "Server returned status {returnCode}" +msgstr "" + +#: src/hooks/UseForm.tsx:88 +msgid "Item Created" +msgstr "" + +#: src/hooks/UseForm.tsx:105 +msgid "Item Updated" +msgstr "" + +#: src/hooks/UseForm.tsx:124 +msgid "Item Deleted" +msgstr "" + +#: src/hooks/UseForm.tsx:128 +msgid "Are you sure you want to delete this item?" +msgstr "" + +#: src/pages/Auth/Logged-In.tsx:23 +msgid "Checking if you are already logged in" +msgstr "" + +#: src/pages/Auth/Login.tsx:31 +#: src/pages/Index/Scan.tsx:329 +msgid "No selection" +msgstr "" + +#: src/pages/Auth/Login.tsx:87 +msgid "Welcome, log in below" +msgstr "" + +#: src/pages/Auth/Login.tsx:89 +msgid "Register below" +msgstr "" + +#: src/pages/Auth/Login.tsx:121 +#~ msgid "Edit host options" +#~ msgstr "Edit host options" + +#: src/pages/Auth/Logout.tsx:23 +msgid "Logging out" +msgstr "" + +#: src/pages/Auth/Reset.tsx:41 +#: src/pages/Auth/Set-Password.tsx:112 +msgid "Send mail" +msgstr "" + +#: src/pages/Auth/Set-Password.tsx:30 +msgid "Token invalid" +msgstr "" + +#: src/pages/Auth/Set-Password.tsx:31 +msgid "You need to provide a valid token to set a new password. Check your inbox for a reset link." +msgstr "" + +#: src/pages/Auth/Set-Password.tsx:49 +msgid "No token provided" +msgstr "" + +#: src/pages/Auth/Set-Password.tsx:50 +msgid "You need to provide a token to set a new password. Check your inbox for a reset link." +msgstr "" + +#: src/pages/Auth/Set-Password.tsx:73 +msgid "Password set" +msgstr "" + +#: src/pages/Auth/Set-Password.tsx:74 +msgid "The password was set successfully. You can now login with your new password" +msgstr "" + +#: src/pages/Auth/Set-Password.tsx:101 +msgid "Set new password" +msgstr "" + +#: src/pages/ErrorPage.tsx:17 +msgid "Error: {0}" +msgstr "" + +#: src/pages/ErrorPage.tsx:28 +msgid "Sorry, an unexpected error has occurred." +msgstr "" + +#: src/pages/Index/Dashboard.tsx:22 +msgid "Autoupdate" +msgstr "" + +#: src/pages/Index/Dashboard.tsx:26 +msgid "This page is a replacement for the old start page with the same information. This page will be deprecated and replaced by the home page." +msgstr "" + +#: src/pages/Index/Home.tsx:58 +msgid "Welcome to your Dashboard{0}" +msgstr "" + +#: src/pages/Index/Playground.tsx:243 +msgid "This page is a showcase for the possibilities of Platform UI." +msgstr "" + +#: src/pages/Index/Profile/Profile.tsx:30 +#: src/pages/Index/Profile/Profile.tsx:141 +#~ msgid "Notification Settings" +#~ msgstr "Notification Settings" + +#: src/pages/Index/Profile/Profile.tsx:33 +#~ msgid "Global Settings" +#~ msgstr "Global Settings" + +#: src/pages/Index/Profile/Profile.tsx:47 +#~ msgid "Settings for the current user" +#~ msgstr "Settings for the current user" + +#: src/pages/Index/Profile/Profile.tsx:51 +#~ msgid "Home Page Settings" +#~ msgstr "Home Page Settings" + +#: src/pages/Index/Profile/Profile.tsx:76 +#~ msgid "Search Settings" +#~ msgstr "Search Settings" + +#: src/pages/Index/Profile/Profile.tsx:115 +#: src/pages/Index/Profile/Profile.tsx:211 +#~ msgid "Label Settings" +#~ msgstr "Label Settings" + +#: src/pages/Index/Profile/Profile.tsx:120 +#: src/pages/Index/Profile/Profile.tsx:219 +#~ msgid "Report Settings" +#~ msgstr "Report Settings" + +#: src/pages/Index/Profile/Profile.tsx:142 +#~ msgid "Settings for the notifications" +#~ msgstr "Settings for the notifications" + +#: src/pages/Index/Profile/Profile.tsx:148 +#~ msgid "Global Server Settings" +#~ msgstr "Global Server Settings" + +#: src/pages/Index/Profile/Profile.tsx:149 +#~ msgid "Global Settings for this instance" +#~ msgstr "Global Settings for this instance" + +#: src/pages/Index/Profile/Profile.tsx:153 +#~ msgid "Server Settings" +#~ msgstr "Server Settings" + +#: src/pages/Index/Profile/Profile.tsx:187 +#~ msgid "Login Settings" +#~ msgstr "Login Settings" + +#: src/pages/Index/Profile/Profile.tsx:202 +#~ msgid "Barcode Settings" +#~ msgstr "Barcode Settings" + +#: src/pages/Index/Profile/Profile.tsx:230 +#~ msgid "Part Settings" +#~ msgstr "Part Settings" + +#: src/pages/Index/Profile/Profile.tsx:255 +#~ msgid "Pricing Settings" +#~ msgstr "Pricing Settings" + +#: src/pages/Index/Profile/Profile.tsx:270 +#~ msgid "Stock Settings" +#~ msgstr "Stock Settings" + +#: src/pages/Index/Profile/Profile.tsx:284 +#~ msgid "Build Order Settings" +#~ msgstr "Build Order Settings" + +#: src/pages/Index/Profile/Profile.tsx:289 +#~ msgid "Purchase Order Settings" +#~ msgstr "Purchase Order Settings" + +#: src/pages/Index/Profile/Profile.tsx:300 +#~ msgid "Sales Order Settings" +#~ msgstr "Sales Order Settings" + +#: src/pages/Index/Profile/Profile.tsx:330 +#~ msgid "Plugin Settings for this instance" +#~ msgstr "Plugin Settings for this instance" + +#: src/pages/Index/Profile/SettingsPanel.tsx:27 +#~ msgid "Data is current beeing loaded" +#~ msgstr "Data is current beeing loaded" + +#: src/pages/Index/Profile/SettingsPanel.tsx:69 +#: src/pages/Index/Profile/SettingsPanel.tsx:76 +#~ msgid "Failed to load" +#~ msgstr "Failed to load" + +#: src/pages/Index/Profile/SettingsPanel.tsx:100 +#~ msgid "Show internal names" +#~ msgstr "Show internal names" + +#: src/pages/Index/Profile/SettingsPanel.tsx:148 +#~ msgid "Input {0} is not known" +#~ msgstr "Input {0} is not known" + +#: src/pages/Index/Profile/SettingsPanel.tsx:161 +#~ msgid "Saved changes {0}" +#~ msgstr "Saved changes {0}" + +#: src/pages/Index/Profile/SettingsPanel.tsx:162 +#~ msgid "Changed to {0}" +#~ msgstr "Changed to {0}" + +#: src/pages/Index/Profile/SettingsPanel.tsx:176 +#~ msgid "Error while saving {0}" +#~ msgstr "Error while saving {0}" + +#: src/pages/Index/Profile/SettingsPanel.tsx:177 +#~ msgid "Error was {err}" +#~ msgstr "Error was {err}" + +#: src/pages/Index/Profile/SettingsPanel.tsx:257 +#~ msgid "Plugin: {0}" +#~ msgstr "Plugin: {0}" + +#: src/pages/Index/Profile/SettingsPanel.tsx:262 +#~ msgid "Method: {0}" +#~ msgstr "Method: {0}" + +#: src/pages/Index/Profile/UserPanel.tsx:85 +#~ msgid "Userinfo" +#~ msgstr "Userinfo" + +#: src/pages/Index/Profile/UserPanel.tsx:122 +#~ msgid "Username: {0}" +#~ msgstr "Username: {0}" + +#: src/pages/Index/Profile/UserTheme.tsx:83 +#~ msgid "Design <0/>" +#~ msgstr "Design <0/>" + +#: src/pages/Index/Scan.tsx:216 +msgid "Manual input" +msgstr "" + +#: src/pages/Index/Scan.tsx:217 +msgid "Image Barcode" +msgstr "" + +#: src/pages/Index/Scan.tsx:247 +msgid "Selected elements are not known" +msgstr "" + +#: src/pages/Index/Scan.tsx:254 +msgid "Multiple object types selected" +msgstr "" + +#: src/pages/Index/Scan.tsx:261 +msgid "Actions for {0}" +msgstr "" + +#: src/pages/Index/Scan.tsx:282 +msgid "Scan Page" +msgstr "" + +#: src/pages/Index/Scan.tsx:285 +msgid "This page can be used for continuously scanning items and taking actions on them." +msgstr "" + +#: src/pages/Index/Scan.tsx:292 +msgid "Toggle Fullscreen" +msgstr "" + +#: src/pages/Index/Scan.tsx:305 +msgid "Select the input method you want to use to scan items." +msgstr "" + +#: src/pages/Index/Scan.tsx:307 +msgid "Input" +msgstr "" + +#: src/pages/Index/Scan.tsx:314 +msgid "Select input method" +msgstr "" + +#: src/pages/Index/Scan.tsx:315 +msgid "Nothing found" +msgstr "" + +#: src/pages/Index/Scan.tsx:323 +msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." +msgstr "" + +#: src/pages/Index/Scan.tsx:325 +msgid "Action" +msgstr "" + +#: src/pages/Index/Scan.tsx:334 +msgid "{0} items selected" +msgstr "" + +#: src/pages/Index/Scan.tsx:337 +msgid "General Actions" +msgstr "" + +#: src/pages/Index/Scan.tsx:351 +msgid "Lookup part" +msgstr "" + +#: src/pages/Index/Scan.tsx:359 +msgid "Open Link" +msgstr "" + +#: src/pages/Index/Scan.tsx:375 +msgid "History is locally kept in this browser." +msgstr "" + +#: src/pages/Index/Scan.tsx:376 +msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." +msgstr "" + +#: src/pages/Index/Scan.tsx:378 +#: src/pages/Notifications.tsx:100 +msgid "History" +msgstr "" + +#: src/pages/Index/Scan.tsx:384 +msgid "Delete History" +msgstr "" + +#: src/pages/Index/Scan.tsx:449 +msgid "No history" +msgstr "" + +#: src/pages/Index/Scan.tsx:467 +msgid "Item" +msgstr "" + +#: src/pages/Index/Scan.tsx:470 +msgid "Type" +msgstr "" + +#: src/pages/Index/Scan.tsx:473 +msgid "Source" +msgstr "" + +#: src/pages/Index/Scan.tsx:476 +msgid "Scanned at" +msgstr "" + +#: src/pages/Index/Scan.tsx:528 +msgid "Enter item serial or data" +msgstr "" + +#: src/pages/Index/Scan.tsx:540 +msgid "Add dummy item" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:37 +msgid "Account Details" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:46 +msgid "First name" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 +msgid "Last name" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:58 +#~ msgid "First name: {0}" +#~ msgstr "First name: {0}" + +#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:61 +#~ msgid "Last name: {0}" +#~ msgstr "Last name: {0}" + +#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:63 +msgid "First name:" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:67 +msgid "Last name:" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 +msgid "Use pseudo language" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 +msgid "Single Sign On Accounts" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 +msgid "Not enabled" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 +msgid "Single Sign On is not enabled for this server" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 +msgid "Multifactor" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 +msgid "Multifactor authentication is not configured for your account" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132 +msgid "The following email addresses are associated with your account:" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:144 +msgid "Primary" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +msgid "Verified" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:153 +msgid "Unverified" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +msgid "Add Email Address" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 +msgid "E-Mail" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:170 +msgid "E-Mail address" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 +msgid "Make Primary" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:187 +msgid "Re-send Verification" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:198 +msgid "Add Email" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263 +msgid "Provider has not been configured" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:273 +msgid "Not configured" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276 +msgid "There are no social network accounts connected to this account." +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:286 +msgid "You can sign in to your account using any of the following third party accounts" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:65 +msgid "bars" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:66 +msgid "oval" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:67 +msgid "dots" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:81 +msgid "Theme" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:87 +msgid "Primary color" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:100 +msgid "White color" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:108 +msgid "Black color" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:116 +msgid "Border Radius" +msgstr "" + +#: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:132 +msgid "Loader" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter.tsx:30 +#~ msgid "User Management" +#~ msgstr "User Management" + +#: src/pages/Index/Settings/AdminCenter.tsx:91 +#~ msgid "Advanced Amininistrative Options for InvenTree" +#~ msgstr "Advanced Amininistrative Options for InvenTree" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 +msgid "Background Tasks" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 +msgid "Error Reports" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 +msgid "Currencies" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 +msgid "Custom Units" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 +msgid "Part Parameters" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 +msgid "Category Parameters" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 +#: src/tables/machine/MachineTypeTable.tsx:287 +msgid "Machines" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 +msgid "Quick Actions" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 +msgid "Add a new user" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 +msgid "Advanced Options" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:43 +msgid "Machine types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:53 +msgid "Machine Error Stack" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:62 +msgid "There are no machine registry errors." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:28 +#: src/tables/settings/UserTable.tsx:116 +msgid "Info" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:32 +msgid "External plugins are not enabled for this InvenTree installation." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:33 +#~ msgid "Plugin Error Stack" +#~ msgstr "Plugin Error Stack" + +#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:45 +#~ msgid "Warning" +#~ msgstr "Warning" + +#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:47 +#~ msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." +#~ msgstr "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." + +#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:50 +msgid "Plugin Errors" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:59 +msgid "Plugin Settings" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +msgid "Pending Tasks" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +msgid "Scheduled Tasks" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +msgid "Failed Tasks" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 +#~ msgid "Label" +#~ msgstr "Label" + +#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 +#~ msgid "Stock item" +#~ msgstr "Stock item" + +#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#~ msgid "Build line" +#~ msgstr "Build line" + +#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 +#~ msgid "Reports" +#~ msgstr "Reports" + +#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 +#: src/pages/build/BuildDetail.tsx:373 +#~ msgid "Report" +#~ msgstr "Report" + +#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#~ msgid "Purchase order" +#~ msgstr "Purchase order" + +#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#~ msgid "Sales order" +#~ msgstr "Sales order" + +#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 +#~ msgid "Return order" +#~ msgstr "Return order" + +#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 +#~ msgid "Tests" +#~ msgstr "Tests" + +#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#~ msgid "Stock location" +#~ msgstr "Stock location" + +#: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:18 +#: src/tables/settings/UserTable.tsx:135 +msgid "Groups" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:30 +msgid "Select settings relevant for user lifecycle. More available in" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:35 +msgid "System settings" +msgstr "" + +#: src/pages/Index/Settings/SystemSettings.tsx:65 +msgid "Login" +msgstr "" + +#: src/pages/Index/Settings/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "" + +#: src/pages/Index/Settings/SystemSettings.tsx:107 +msgid "Pricing" +msgstr "" + +#: src/pages/Index/Settings/SystemSettings.tsx:118 +#~ msgid "Physical Units" +#~ msgstr "Physical Units" + +#: src/pages/Index/Settings/SystemSettings.tsx:135 +#~ msgid "Exchange Rates" +#~ msgstr "Exchange Rates" + +#: src/pages/Index/Settings/SystemSettings.tsx:142 +msgid "Labels" +msgstr "" + +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 +msgid "Reporting" +msgstr "" + +#: src/pages/Index/Settings/SystemSettings.tsx:228 +#: src/pages/part/PartDetail.tsx:595 +#: src/tables/stock/StockItemTable.tsx:221 +msgid "Stocktake" +msgstr "" + +#: src/pages/Index/Settings/SystemSettings.tsx:234 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/build/BuildIndex.tsx:14 +#: src/pages/part/PartDetail.tsx:529 +#: src/pages/sales/SalesOrderDetail.tsx:269 +msgid "Build Orders" +msgstr "" + +#: src/pages/Index/Settings/SystemSettings.tsx:303 +msgid "Switch to User Setting" +msgstr "" + +#: src/pages/Index/Settings/UserSettings.tsx:30 +msgid "Account" +msgstr "" + +#: src/pages/Index/Settings/UserSettings.tsx:36 +msgid "Security" +msgstr "" + +#: src/pages/Index/Settings/UserSettings.tsx:48 +msgid "Display Options" +msgstr "" + +#: src/pages/Index/Settings/UserSettings.tsx:118 +msgid "Account Settings" +msgstr "" + +#: src/pages/Index/Settings/UserSettings.tsx:122 +msgid "Switch to System Setting" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:103 +#~ msgid "User Settings" +#~ msgstr "User Settings" + +#: src/pages/Logged-In.tsx:24 +#~ msgid "Found an exsisting login - using it to log you in." +#~ msgstr "Found an exsisting login - using it to log you in." + +#: src/pages/NotFound.tsx:17 +msgid "Not Found" +msgstr "" + +#: src/pages/NotFound.tsx:20 +msgid "Sorry, this page is not known or was moved." +msgstr "" + +#: src/pages/NotFound.tsx:27 +msgid "Go to the start page" +msgstr "" + +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 +msgid "Mark as unread" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:80 +#~ msgid "Build Status" +#~ msgstr "Build Status" + +#: src/pages/build/BuildDetail.tsx:89 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:98 +#: src/pages/sales/SalesOrderDetail.tsx:102 +#: src/tables/build/BuildOrderTable.tsx:113 +#: src/tables/machine/MachineListTable.tsx:326 +#: src/tables/purchasing/PurchaseOrderTable.tsx:55 +#: src/tables/sales/ReturnOrderTable.tsx:46 +#: src/tables/sales/SalesOrderTable.tsx:52 +#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 +msgid "Status" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:95 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:72 +#: src/pages/sales/SalesOrderDetail.tsx:76 +#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/build/BuildLineTable.tsx:140 +msgid "Reference" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:100 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:135 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:92 +#: src/pages/sales/SalesOrderDetail.tsx:96 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/machine/MachineTypeTable.tsx:69 +#: src/tables/machine/MachineTypeTable.tsx:112 +#: src/tables/machine/MachineTypeTable.tsx:219 +#: src/tables/machine/MachineTypeTable.tsx:323 +#: src/tables/part/RelatedPartTable.tsx:64 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 +msgid "Description" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:107 +msgid "Parent Build" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:118 +msgid "Build Quantity" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:126 +#: src/pages/build/BuildDetail.tsx:256 +msgid "Completed Outputs" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:143 +#: src/tables/build/BuildOrderTable.tsx:142 +msgid "Issued By" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:150 +#: src/pages/part/PartDetail.tsx:323 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:185 +#: src/pages/sales/SalesOrderDetail.tsx:189 +#: src/tables/build/BuildOrderTable.tsx:148 +#: src/tables/purchasing/PurchaseOrderTable.tsx:75 +#: src/tables/sales/ReturnOrderTable.tsx:66 +#: src/tables/sales/SalesOrderTable.tsx:72 +msgid "Responsible" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:157 +#: src/tables/settings/PendingTasksTable.tsx:30 +msgid "Created" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:164 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:178 +#: src/pages/sales/SalesOrderDetail.tsx:182 +#: src/tables/ColumnRenderers.tsx:191 +msgid "Target Date" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:171 +msgid "Completed" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:183 +msgid "Source Location" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:184 +msgid "Any location" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:185 +#: src/pages/part/PartDetail.tsx:269 +#: src/pages/stock/StockDetail.tsx:150 +#~ msgid "View part barcode" +#~ msgstr "View part barcode" + +#: src/pages/build/BuildDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:274 +#~ msgid "Link custom barcode to part" +#~ msgstr "Link custom barcode to part" + +#: src/pages/build/BuildDetail.tsx:191 +msgid "Destination Location" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:196 +#: src/pages/part/PartDetail.tsx:280 +#~ msgid "Unlink custom barcode from part" +#~ msgstr "Unlink custom barcode from part" + +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:538 +msgid "Batch Code" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:221 +#~ msgid "Edit build order" +#~ msgstr "Edit build order" + +#: src/pages/build/BuildDetail.tsx:226 +#~ msgid "Duplicate build order" +#~ msgstr "Duplicate build order" + +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:231 +#~ msgid "Delete build order" +#~ msgstr "Delete build order" + +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 +msgid "Incomplete Outputs" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:271 +msgid "Consumed Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:285 +msgid "Child Build Orders" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:618 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:229 +#: src/pages/sales/SalesOrderDetail.tsx:279 +#: src/pages/stock/StockDetail.tsx:328 +msgid "Attachments" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:630 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:241 +#: src/pages/sales/SalesOrderDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:340 +#: src/tables/stock/StockTrackingTable.tsx:189 +msgid "Notes" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:325 +msgid "Edit Build Order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:334 +msgid "Cancel Build Order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:346 +#: src/tables/build/BuildOrderTable.tsx:167 +#: src/tables/build/BuildOrderTable.tsx:182 +msgid "Add Build Order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:368 +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" + +#: src/pages/build/BuildDetail.tsx:374 +#~ msgid "Print build report" +#~ msgstr "Print build report" + +#: src/pages/build/BuildDetail.tsx:378 +msgid "Build Order Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 +msgid "Cancel order" +msgstr "" + +#: src/pages/build/BuildIndex.tsx:23 +#~ msgid "Build order created" +#~ msgstr "Build order created" + +#: src/pages/build/BuildIndex.tsx:39 +#~ msgid "New Build Order" +#~ msgstr "New Build Order" + +#: src/pages/company/CompanyDetail.tsx:100 +msgid "Phone Number" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:107 +msgid "Email Address" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:117 +msgid "Default Currency" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:122 +#: src/pages/company/SupplierDetail.tsx:8 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 +#: src/tables/company/CompanyTable.tsx:100 +#: src/tables/purchasing/PurchaseOrderTable.tsx:88 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 +msgid "Supplier" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:128 +#: src/pages/company/ManufacturerDetail.tsx:8 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 +#: src/tables/company/CompanyTable.tsx:105 +msgid "Manufacturer" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:134 +#: src/pages/company/CustomerDetail.tsx:8 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:29 +#: src/pages/sales/ReturnOrderDetail.tsx:86 +#: src/pages/sales/SalesOrderDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:220 +#: src/tables/company/CompanyTable.tsx:110 +#: src/tables/sales/ReturnOrderTable.tsx:78 +#: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 +msgid "Customer" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 +msgid "Details" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:174 +msgid "Manufactured Parts" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:175 +#~ msgid "Edit company" +#~ msgstr "Edit company" + +#: src/pages/company/CompanyDetail.tsx:183 +msgid "Supplied Parts" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:189 +#~ msgid "Delete company" +#~ msgstr "Delete company" + +#: src/pages/company/CompanyDetail.tsx:228 +msgid "Assigned Stock" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:287 +#: src/tables/company/CompanyTable.tsx:86 +msgid "Edit Company" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:296 +msgid "Company Actions" +msgstr "" + +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 +msgid "Internal Part" +msgstr "" + +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 +msgid "External Link" +msgstr "" + +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 +msgid "Manufacturer Part Number" +msgstr "" + +#: src/pages/company/ManufacturerPartDetail.tsx:131 +msgid "Manufacturer Details" +msgstr "" + +#: src/pages/company/ManufacturerPartDetail.tsx:140 +msgid "Manufacturer Part Details" +msgstr "" + +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:488 +msgid "Parameters" +msgstr "" + +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:562 +#: src/pages/purchasing/PurchasingIndex.tsx:26 +msgid "Suppliers" +msgstr "" + +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 +msgid "Edit Manufacturer Part" +msgstr "" + +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 +msgid "Add Manufacturer Part" +msgstr "" + +#: src/pages/company/ManufacturerPartDetail.tsx:213 +msgid "Manufacturer Part Actions" +msgstr "" + +#: src/pages/company/ManufacturerPartDetail.tsx:251 +msgid "ManufacturerPart" +msgstr "" + +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 +msgid "Note" +msgstr "" + +#: src/pages/company/SupplierPartDetail.tsx:115 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 +msgid "SKU" +msgstr "" + +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:234 +msgid "Packaging" +msgstr "" + +#: src/pages/company/SupplierPartDetail.tsx:150 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 +#: src/tables/purchasing/SupplierPartTable.tsx:131 +msgid "Pack Quantity" +msgstr "" + +#: src/pages/company/SupplierPartDetail.tsx:161 +msgid "Supplier Availability" +msgstr "" + +#: src/pages/company/SupplierPartDetail.tsx:168 +msgid "Availability Updated" +msgstr "" + +#: src/pages/company/SupplierPartDetail.tsx:195 +msgid "Availability" +msgstr "" + +#: src/pages/company/SupplierPartDetail.tsx:204 +msgid "Supplier Part Details" +msgstr "" + +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 +msgid "Received Stock" +msgstr "" + +#: src/pages/company/SupplierPartDetail.tsx:234 +#: src/pages/part/PartPricingPanel.tsx:115 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 +msgid "Supplier Pricing" +msgstr "" + +#: src/pages/company/SupplierPartDetail.tsx:249 +msgid "Supplier Part Actions" +msgstr "" + +#: src/pages/company/SupplierPartDetail.tsx:273 +#: src/tables/purchasing/SupplierPartTable.tsx:210 +msgid "Edit Supplier Part" +msgstr "" + +#: src/pages/company/SupplierPartDetail.tsx:280 +#: src/tables/purchasing/SupplierPartTable.tsx:163 +msgid "Add Supplier Part" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 +#: src/tables/settings/ErrorTable.tsx:34 +msgid "Path" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:100 +msgid "Parent Category" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:117 +msgid "Subcategories" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 +msgid "Structural" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:130 +msgid "Parent default location" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:137 +msgid "Default location" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:148 +msgid "Top level part category" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 +msgid "Edit Part Category" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 +msgid "Delete items" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 +msgid "Delete Part Category" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:182 +msgid "Parts Action" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:183 +msgid "Action for parts in this category" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:188 +msgid "Child Categories Action" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:189 +msgid "Action for child categories in this category" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:207 +msgid "Category Actions" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:229 +msgid "Category Details" +msgstr "" + +#: src/pages/part/PartDetail.tsx:141 +msgid "Variant of" +msgstr "" + +#: src/pages/part/PartDetail.tsx:148 +#: src/tables/notifications/NotificationsTable.tsx:31 +#: src/tables/part/PartCategoryTemplateTable.tsx:67 +msgid "Category" +msgstr "" + +#: src/pages/part/PartDetail.tsx:154 +msgid "Default Location" +msgstr "" + +#: src/pages/part/PartDetail.tsx:161 +msgid "Category Default Location" +msgstr "" + +#: src/pages/part/PartDetail.tsx:168 +msgid "IPN" +msgstr "" + +#: src/pages/part/PartDetail.tsx:175 +msgid "Revision" +msgstr "" + +#: src/pages/part/PartDetail.tsx:182 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 +msgid "Units" +msgstr "" + +#: src/pages/part/PartDetail.tsx:189 +#: src/tables/settings/PendingTasksTable.tsx:40 +msgid "Keywords" +msgstr "" + +#: src/pages/part/PartDetail.tsx:196 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:151 +#: src/pages/sales/SalesOrderDetail.tsx:155 +msgid "Link" +msgstr "" + +#: src/pages/part/PartDetail.tsx:214 +#: src/tables/bom/BomTable.tsx:271 +#: src/tables/build/BuildLineTable.tsx:121 +msgid "Available Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:221 +msgid "Minimum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:227 +#: src/tables/bom/BomTable.tsx:212 +#: src/tables/build/BuildLineTable.tsx:95 +msgid "On order" +msgstr "" + +#: src/pages/part/PartDetail.tsx:236 +msgid "Allocated to Build Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:244 +msgid "Allocated to Sales Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:251 +#: src/tables/bom/BomTable.tsx:236 +msgid "Can Build" +msgstr "" + +#: src/pages/part/PartDetail.tsx:258 +#: src/tables/bom/BomTable.tsx:220 +#: src/tables/part/PartTable.tsx:82 +msgid "Building" +msgstr "" + +#: src/pages/part/PartDetail.tsx:267 +#: src/tables/bom/UsedInTable.tsx:73 +#: src/tables/build/BuildOrderTable.tsx:108 +#: src/tables/company/CompanyTable.tsx:61 +#: src/tables/company/CompanyTable.tsx:95 +#: src/tables/machine/MachineListTable.tsx:323 +#: src/tables/machine/MachineListTable.tsx:585 +#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartVariantTable.tsx:15 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 +#: src/tables/purchasing/SupplierPartTable.tsx:98 +#: src/tables/purchasing/SupplierPartTable.tsx:187 +#: src/tables/stock/StockItemTable.tsx:254 +msgid "Active" +msgstr "" + +#: src/pages/part/PartDetail.tsx:272 +msgid "Template Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:266 +msgid "Assembled Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:282 +msgid "Component Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:261 +msgid "Trackable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:292 +msgid "Purchaseable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:297 +msgid "Saleable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:302 +msgid "Virtual Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:199 +msgid "Creation Date" +msgstr "" + +#: src/pages/part/PartDetail.tsx:310 +#~ msgid "Edit part" +#~ msgstr "Edit part" + +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + +#: src/pages/part/PartDetail.tsx:322 +#~ msgid "Duplicate part" +#~ msgstr "Duplicate part" + +#: src/pages/part/PartDetail.tsx:327 +#~ msgid "Delete part" +#~ msgstr "Delete part" + +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 +#: src/pages/part/pricing/BomPricingPanel.tsx:78 +#: src/pages/part/pricing/VariantPricingPanel.tsx:95 +#: src/tables/part/PartTable.tsx:151 +msgid "Price Range" +msgstr "" + +#: src/pages/part/PartDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:131 +msgid "Last Stocktake" +msgstr "" + +#: src/pages/part/PartDetail.tsx:411 +msgid "Stocktake By" +msgstr "" + +#: src/pages/part/PartDetail.tsx:482 +msgid "Part Details" +msgstr "" + +#: src/pages/part/PartDetail.tsx:508 +msgid "Variants" +msgstr "" + +#: src/pages/part/PartDetail.tsx:515 +#: src/pages/stock/StockDetail.tsx:284 +msgid "Allocations" +msgstr "" + +#: src/pages/part/PartDetail.tsx:522 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:536 +msgid "Used In" +msgstr "" + +#: src/pages/part/PartDetail.tsx:543 +msgid "Part Pricing" +msgstr "" + +#: src/pages/part/PartDetail.tsx:549 +#: src/pages/purchasing/PurchasingIndex.tsx:37 +msgid "Manufacturers" +msgstr "" + +#: src/pages/part/PartDetail.tsx:589 +msgid "Scheduling" +msgstr "" + +#: src/pages/part/PartDetail.tsx:601 +msgid "Test Templates" +msgstr "" + +#: src/pages/part/PartDetail.tsx:612 +msgid "Related Parts" +msgstr "" + +#: src/pages/part/PartDetail.tsx:667 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:532 +#: src/tables/build/BuildLineTable.tsx:36 +#: src/tables/part/PartTable.tsx:107 +#: src/tables/stock/StockItemTable.tsx:166 +#: src/tables/stock/StockItemTable.tsx:275 +msgid "Available" +msgstr "" + +#: src/pages/part/PartDetail.tsx:673 +msgid "No Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:679 +#: src/tables/bom/BomTable.tsx:276 +#: src/tables/part/PartTable.tsx:76 +msgid "On Order" +msgstr "" + +#: src/pages/part/PartDetail.tsx:685 +#: src/pages/stock/StockDetail.tsx:515 +#: src/tables/stock/StockItemTable.tsx:295 +msgid "In Production" +msgstr "" + +#: src/pages/part/PartDetail.tsx:704 +msgid "Edit Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:711 +#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:279 +msgid "Add Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:723 +msgid "Delete Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:732 +msgid "Deleting this part cannot be reversed" +msgstr "" + +#: src/pages/part/PartDetail.tsx:770 +#: src/pages/stock/LocationDetail.tsx:302 +#: src/tables/stock/StockItemTable.tsx:409 +msgid "Stock Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:778 +msgid "Count part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:789 +msgid "Transfer part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:798 +msgid "Part Actions" +msgstr "" + +#: src/pages/part/PartIndex.tsx:29 +#~ msgid "Categories" +#~ msgstr "Categories" + +#: src/pages/part/PartPricingPanel.tsx:72 +msgid "No pricing data found for this part." +msgstr "" + +#: src/pages/part/PartPricingPanel.tsx:86 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 +msgid "Pricing Overview" +msgstr "" + +#: src/pages/part/PartPricingPanel.tsx:92 +msgid "Purchase History" +msgstr "" + +#: src/pages/part/PartPricingPanel.tsx:106 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 +msgid "Internal Pricing" +msgstr "" + +#: src/pages/part/PartPricingPanel.tsx:124 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:107 +msgid "BOM Pricing" +msgstr "" + +#: src/pages/part/PartPricingPanel.tsx:131 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:128 +msgid "Variant Pricing" +msgstr "" + +#: src/pages/part/PartPricingPanel.tsx:143 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:135 +msgid "Sale Pricing" +msgstr "" + +#: src/pages/part/PartPricingPanel.tsx:150 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:142 +msgid "Sale History" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:57 +#: src/pages/part/pricing/BomPricingPanel.tsx:137 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 +#: src/tables/purchasing/PurchaseOrderTable.tsx:112 +#: src/tables/sales/ReturnOrderTable.tsx:104 +#: src/tables/sales/SalesOrderTable.tsx:134 +msgid "Total Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:77 +#: src/pages/part/pricing/BomPricingPanel.tsx:101 +#: src/tables/part/PartTable.tsx:186 +msgid "Component" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:80 +#: src/pages/part/pricing/VariantPricingPanel.tsx:37 +#: src/pages/part/pricing/VariantPricingPanel.tsx:97 +msgid "Minimum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:81 +#: src/pages/part/pricing/VariantPricingPanel.tsx:45 +#: src/pages/part/pricing/VariantPricingPanel.tsx:98 +msgid "Maximum Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:112 +#~ msgid "Minimum Total Price" +#~ msgstr "Minimum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:117 +#~ msgid "Maximum Total Price" +#~ msgstr "Maximum Total Price" + +#: src/pages/part/pricing/BomPricingPanel.tsx:128 +#: src/pages/part/pricing/PriceBreakPanel.tsx:168 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 +#: src/pages/part/pricing/SupplierPricingPanel.tsx:62 +#: src/tables/bom/BomTable.tsx:151 +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 +msgid "Unit Price" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:153 +#: src/pages/part/pricing/VariantPricingPanel.tsx:53 +#: src/tables/purchasing/SupplierPartTable.tsx:148 +msgid "Updated" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:218 +msgid "Pie Chart" +msgstr "" + +#: src/pages/part/pricing/BomPricingPanel.tsx:219 +msgid "Bar Chart" +msgstr "" + +#: src/pages/part/pricing/PriceBreakPanel.tsx:54 +#: src/pages/part/pricing/PriceBreakPanel.tsx:106 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 +msgid "Add Price Break" +msgstr "" + +#: src/pages/part/pricing/PriceBreakPanel.tsx:67 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 +msgid "Edit Price Break" +msgstr "" + +#: src/pages/part/pricing/PriceBreakPanel.tsx:77 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 +msgid "Delete Price Break" +msgstr "" + +#: src/pages/part/pricing/PriceBreakPanel.tsx:91 +msgid "Price Break" +msgstr "" + +#: src/pages/part/pricing/PriceBreakPanel.tsx:166 +msgid "Price" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 +msgid "Pricing Category" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 +msgid "Minimum" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 +msgid "Maximum" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 +msgid "Purchase Pricing" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 +msgid "Override Pricing" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 +msgid "Overall Pricing" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:175 +#: src/pages/stock/StockDetail.tsx:125 +msgid "Last Updated" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:192 +msgid "Minimum Value" +msgstr "" + +#: src/pages/part/pricing/PricingOverviewPanel.tsx:193 +msgid "Maximum Value" +msgstr "" + +#: src/pages/part/pricing/PricingPanel.tsx:25 +msgid "No data available" +msgstr "" + +#: src/pages/part/pricing/PricingPanel.tsx:66 +msgid "No Data" +msgstr "" + +#: src/pages/part/pricing/PricingPanel.tsx:67 +msgid "No pricing data available" +msgstr "" + +#: src/pages/part/pricing/PricingPanel.tsx:78 +msgid "Loading pricing data" +msgstr "" + +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:36 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 +msgid "Date" +msgstr "" + +#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:47 +msgid "Purchase Price" +msgstr "" + +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 +msgid "Sale Order" +msgstr "" + +#: src/pages/part/pricing/SaleHistoryPanel.tsx:42 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:92 +msgid "Sale Price" +msgstr "" + +#: src/pages/part/pricing/SupplierPricingPanel.tsx:65 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 +msgid "Supplier Price" +msgstr "" + +#: src/pages/part/pricing/VariantPricingPanel.tsx:30 +#: src/pages/part/pricing/VariantPricingPanel.tsx:94 +msgid "Variant Part" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 +msgid "Edit Purchase Order" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 +#: src/tables/purchasing/PurchaseOrderTable.tsx:128 +#: src/tables/purchasing/PurchaseOrderTable.tsx:140 +msgid "Add Purchase Order" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 +msgid "Supplier Reference" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:223 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:251 +msgid "Line Items" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:114 +#: src/pages/sales/SalesOrderDetail.tsx:118 +msgid "Completed Line Items" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:122 +#: src/pages/sales/SalesOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:263 +msgid "Completed Shipments" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/SalesOrderDetail.tsx:130 +#~ msgid "Order Currency," +#~ msgstr "Order Currency," + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:130 +#: src/pages/sales/SalesOrderDetail.tsx:134 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:137 +#: src/pages/sales/SalesOrderDetail.tsx:141 +msgid "Total Cost" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:172 +#: src/pages/sales/SalesOrderDetail.tsx:176 +msgid "Created On" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:217 +#: src/pages/sales/SalesOrderDetail.tsx:245 +msgid "Order Details" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:299 +#: src/pages/sales/SalesOrderDetail.tsx:313 +msgid "Order Actions" +msgstr "" + +#: src/pages/sales/ReturnOrderDetail.tsx:78 +#: src/pages/sales/SalesOrderDetail.tsx:82 +#: src/tables/sales/SalesOrderTable.tsx:123 +msgid "Customer Reference" +msgstr "" + +#: src/pages/sales/ReturnOrderDetail.tsx:271 +msgid "Edit Return Order" +msgstr "" + +#: src/pages/sales/ReturnOrderDetail.tsx:280 +#: src/tables/sales/ReturnOrderTable.tsx:119 +#: src/tables/sales/ReturnOrderTable.tsx:128 +msgid "Add Return Order" +msgstr "" + +#: src/pages/sales/SalesIndex.tsx:33 +msgid "Customers" +msgstr "" + +#: src/pages/sales/SalesOrderDetail.tsx:222 +msgid "Edit Sales Order" +msgstr "" + +#: src/pages/sales/SalesOrderDetail.tsx:231 +#: src/tables/sales/SalesOrderTable.tsx:83 +#: src/tables/sales/SalesOrderTable.tsx:95 +msgid "Add Sales Order" +msgstr "" + +#: src/pages/sales/SalesOrderDetail.tsx:257 +msgid "Pending Shipments" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:107 +msgid "Parent Location" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:125 +msgid "Sublocations" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:137 +msgid "External" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 +msgid "Top level stock location" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:165 +msgid "Location Details" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:191 +msgid "Default Parts" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:210 +#: src/pages/stock/LocationDetail.tsx:329 +#: src/tables/stock/StockLocationTable.tsx:100 +msgid "Edit Stock Location" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:334 +msgid "Delete Stock Location" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:234 +msgid "Items Action" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:235 +msgid "Action for stock items in this location" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:240 +msgid "Child Locations Action" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:241 +msgid "Action for child locations in this location" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:324 +msgid "Location Actions" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:104 +msgid "Base Part" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:155 +#~ msgid "Link custom barcode to stock item" +#~ msgstr "Link custom barcode to stock item" + +#: src/pages/stock/StockDetail.tsx:161 +#~ msgid "Unlink custom barcode from stock item" +#~ msgstr "Unlink custom barcode from stock item" + +#: src/pages/stock/StockDetail.tsx:178 +msgid "Installed In" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:194 +msgid "Consumed By" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:203 +#: src/tables/stock/StockTrackingTable.tsx:96 +msgid "Build Order" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:205 +#~ msgid "Edit stock item" +#~ msgstr "Edit stock item" + +#: src/pages/stock/StockDetail.tsx:217 +#~ msgid "Delete stock item" +#~ msgstr "Delete stock item" + +#: src/pages/stock/StockDetail.tsx:268 +msgid "Stock Details" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:274 +msgid "Stock Tracking" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:293 +msgid "Test Data" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:307 +msgid "Installed Items" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:314 +msgid "Child Items" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:369 +msgid "Edit Stock Item" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:396 +msgid "Delete Stock Item" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:433 +#~ msgid "Duplicate stock item" +#~ msgstr "Duplicate stock item" + +#: src/pages/stock/StockDetail.tsx:443 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:448 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:458 +#: src/tables/stock/StockItemTable.tsx:414 +msgid "Add stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:466 +#: src/tables/stock/StockItemTable.tsx:423 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:473 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:474 +#: src/tables/stock/StockItemTable.tsx:443 +msgid "Transfer stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:485 +msgid "Stock Item Actions" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:42 +msgid "No location set" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/settings/CurrencyTable.tsx:23 +msgid "Currency" +msgstr "" + +#: src/tables/ColumnSelect.tsx:16 +#: src/tables/ColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "" + +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 +msgid "CSV" +msgstr "" + +#: src/tables/DownloadAction.tsx:23 +msgid "TSV" +msgstr "" + +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" +msgstr "" + +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" +msgstr "" + +#: src/tables/Filter.tsx:88 +#: src/tables/build/BuildOrderTable.tsx:126 +msgid "Assigned to me" +msgstr "" + +#: src/tables/Filter.tsx:89 +#: src/tables/build/BuildOrderTable.tsx:127 +msgid "Show orders assigned to me" +msgstr "" + +#: src/tables/Filter.tsx:96 +msgid "Outstanding" +msgstr "" + +#: src/tables/Filter.tsx:97 +msgid "Show outstanding orders" +msgstr "" + +#: src/tables/Filter.tsx:104 +#: src/tables/build/BuildOrderTable.tsx:119 +msgid "Overdue" +msgstr "" + +#: src/tables/Filter.tsx:105 +msgid "Show overdue orders" +msgstr "" + +#: src/tables/FilterSelectDrawer.tsx:51 +msgid "Remove filter" +msgstr "" + +#: src/tables/FilterSelectDrawer.tsx:136 +msgid "Select filter" +msgstr "" + +#: src/tables/FilterSelectDrawer.tsx:137 +msgid "Filter" +msgstr "" + +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:181 +msgid "Value" +msgstr "" + +#: src/tables/FilterSelectDrawer.tsx:145 +msgid "Select filter value" +msgstr "" + +#: src/tables/FilterSelectDrawer.tsx:185 +msgid "Table Filters" +msgstr "" + +#: src/tables/FilterSelectDrawer.tsx:217 +msgid "Add Filter" +msgstr "" + +#: src/tables/FilterSelectDrawer.tsx:226 +msgid "Clear Filters" +msgstr "" + +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 +msgid "No records found" +msgstr "" + +#: src/tables/InvenTreeTable.tsx:422 +msgid "Server returned incorrect data type" +msgstr "" + +#: src/tables/InvenTreeTable.tsx:430 +msgid "Bad request" +msgstr "" + +#: src/tables/InvenTreeTable.tsx:433 +msgid "Unauthorized" +msgstr "" + +#: src/tables/InvenTreeTable.tsx:436 +msgid "Forbidden" +msgstr "" + +#: src/tables/InvenTreeTable.tsx:439 +msgid "Not found" +msgstr "" + +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 +msgid "Delete selected records" +msgstr "" + +#: src/tables/InvenTreeTable.tsx:492 +msgid "Are you sure you want to delete the selected records?" +msgstr "" + +#: src/tables/InvenTreeTable.tsx:494 +msgid "This action cannot be undone!" +msgstr "" + +#: src/tables/InvenTreeTable.tsx:522 +msgid "Deleted records" +msgstr "" + +#: src/tables/InvenTreeTable.tsx:523 +msgid "Records were deleted successfully" +msgstr "" + +#: src/tables/InvenTreeTable.tsx:532 +msgid "Failed to delete records" +msgstr "" + +#: src/tables/InvenTreeTable.tsx:594 +#: src/tables/InvenTreeTable.tsx:595 +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" +msgstr "" + +#: src/tables/InvenTreeTable.tsx:630 +msgid "Refresh data" +msgstr "" + +#: src/tables/InvenTreeTable.tsx:648 +msgid "Table filters" +msgstr "" + +#: src/tables/bom/BomTable.tsx:78 +msgid "This BOM item is defined for a different parent" +msgstr "" + +#: src/tables/bom/BomTable.tsx:93 +msgid "Part Information" +msgstr "" + +#: src/tables/bom/BomTable.tsx:179 +#: src/tables/part/PartTable.tsx:124 +msgid "No stock" +msgstr "" + +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/build/BuildLineTable.tsx:104 +#: src/tables/part/PartTable.tsx:115 +msgid "External stock" +msgstr "" + +#: src/tables/bom/BomTable.tsx:195 +#: src/tables/build/BuildLineTable.tsx:67 +msgid "Includes substitute stock" +msgstr "" + +#: src/tables/bom/BomTable.tsx:204 +#: src/tables/build/BuildLineTable.tsx:77 +msgid "Includes variant stock" +msgstr "" + +#: src/tables/bom/BomTable.tsx:229 +#: src/tables/part/PartTable.tsx:143 +#: src/tables/stock/StockItemTable.tsx:205 +msgid "Stock Information" +msgstr "" + +#: src/tables/bom/BomTable.tsx:241 +#: src/tables/build/BuildLineTable.tsx:195 +msgid "Consumable item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:262 +msgid "Show trackable items" +msgstr "" + +#: src/tables/bom/BomTable.tsx:267 +msgid "Show asssmbled items" +msgstr "" + +#: src/tables/bom/BomTable.tsx:272 +msgid "Show items with available stock" +msgstr "" + +#: src/tables/bom/BomTable.tsx:277 +msgid "Show items on order" +msgstr "" + +#: src/tables/bom/BomTable.tsx:281 +msgid "Validated" +msgstr "" + +#: src/tables/bom/BomTable.tsx:282 +msgid "Show validated items" +msgstr "" + +#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/UsedInTable.tsx:63 +msgid "Inherited" +msgstr "" + +#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/UsedInTable.tsx:64 +msgid "Show inherited items" +msgstr "" + +#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/UsedInTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:46 +msgid "Optional" +msgstr "" + +#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/UsedInTable.tsx:69 +msgid "Show optional items" +msgstr "" + +#: src/tables/bom/BomTable.tsx:296 +#: src/tables/build/BuildLineTable.tsx:41 +msgid "Consumable" +msgstr "" + +#: src/tables/bom/BomTable.tsx:297 +msgid "Show consumable items" +msgstr "" + +#: src/tables/bom/BomTable.tsx:301 +msgid "Has Pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 +msgid "Add BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:316 +msgid "BOM item created" +msgstr "" + +#: src/tables/bom/BomTable.tsx:323 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:325 +msgid "BOM item updated" +msgstr "" + +#: src/tables/bom/BomTable.tsx:331 +#~ msgid "Edit Bom Item" +#~ msgstr "Edit Bom Item" + +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +#~ msgid "Bom item updated" +#~ msgstr "Bom item updated" + +#: src/tables/bom/BomTable.tsx:343 +msgid "View BOM" +msgstr "" + +#: src/tables/bom/BomTable.tsx:348 +#~ msgid "Delete Bom Item" +#~ msgstr "Delete Bom Item" + +#: src/tables/bom/BomTable.tsx:349 +#~ msgid "Bom item deleted" +#~ msgstr "Bom item deleted" + +#: src/tables/bom/BomTable.tsx:351 +#~ msgid "Are you sure you want to remove this BOM item?" +#~ msgstr "Are you sure you want to remove this BOM item?" + +#: src/tables/bom/BomTable.tsx:354 +msgid "Validate BOM line" +msgstr "" + +#: src/tables/bom/BomTable.tsx:362 +msgid "Edit Substitutes" +msgstr "" + +#: src/tables/bom/UsedInTable.tsx:74 +msgid "Show active assemblies" +msgstr "" + +#: src/tables/bom/UsedInTable.tsx:78 +#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartVariantTable.tsx:30 +msgid "Trackable" +msgstr "" + +#: src/tables/bom/UsedInTable.tsx:79 +msgid "Show trackable assemblies" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:31 +#: src/tables/stock/StockItemTable.tsx:270 +msgid "Allocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:32 +msgid "Show allocated lines" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:37 +msgid "Show lines with available stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:42 +msgid "Show consumable lines" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:47 +msgid "Show optional lines" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:51 +#: src/tables/stock/StockItemTable.tsx:329 +msgid "Tracked" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:52 +msgid "Show tracked lines" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:86 +msgid "In production" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:118 +#: src/tables/stock/StockItemTable.tsx:175 +msgid "No stock available" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:157 +msgid "Unit Quantity" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:231 +msgid "Order Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:237 +msgid "Build Stock" +msgstr "" + +#: src/tables/build/BuildOrderTable.tsx:109 +msgid "Show active orders" +msgstr "" + +#: src/tables/build/BuildOrderTable.tsx:114 +#: src/tables/purchasing/PurchaseOrderTable.tsx:56 +#: src/tables/sales/ReturnOrderTable.tsx:47 +#: src/tables/sales/SalesOrderTable.tsx:53 +msgid "Filter by order status" +msgstr "" + +#: src/tables/build/BuildOrderTable.tsx:121 +msgid "Show overdue status" +msgstr "" + +#: src/tables/build/BuildOrderTable.tsx:132 +#: src/tables/purchasing/PurchaseOrderTable.tsx:65 +#: src/tables/sales/ReturnOrderTable.tsx:56 +#: src/tables/sales/SalesOrderTable.tsx:62 +msgid "Filter by project code" +msgstr "" + +#: src/tables/build/BuildOrderTable.tsx:137 +#: src/tables/purchasing/PurchaseOrderTable.tsx:70 +#: src/tables/sales/ReturnOrderTable.tsx:61 +#: src/tables/sales/SalesOrderTable.tsx:67 +msgid "Has Project Code" +msgstr "" + +#: src/tables/build/BuildOrderTable.tsx:138 +#: src/tables/purchasing/PurchaseOrderTable.tsx:71 +#: src/tables/sales/ReturnOrderTable.tsx:62 +#: src/tables/sales/SalesOrderTable.tsx:68 +msgid "Filter by whether the purchase order has a project code" +msgstr "" + +#: src/tables/build/BuildOrderTable.tsx:143 +msgid "Filter by user who issued this order" +msgstr "" + +#: src/tables/build/BuildOrderTable.tsx:149 +#: src/tables/purchasing/PurchaseOrderTable.tsx:76 +#: src/tables/sales/ReturnOrderTable.tsx:67 +#: src/tables/sales/SalesOrderTable.tsx:73 +msgid "Filter by responsible owner" +msgstr "" + +#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:152 +msgid "Add Build Output" +msgstr "" + +#: src/tables/build/BuildOutputTable.tsx:157 +msgid "Complete selected outputs" +msgstr "" + +#: src/tables/build/BuildOutputTable.tsx:161 +#~ msgid "Delete build output" +#~ msgstr "Delete build output" + +#: src/tables/build/BuildOutputTable.tsx:167 +msgid "Scrap selected outputs" +msgstr "" + +#: src/tables/build/BuildOutputTable.tsx:177 +msgid "Cancel selected outputs" +msgstr "" + +#: src/tables/build/BuildOutputTable.tsx:193 +msgid "Allocate" +msgstr "" + +#: src/tables/build/BuildOutputTable.tsx:194 +msgid "Allocate stock to build output" +msgstr "" + +#: src/tables/build/BuildOutputTable.tsx:199 +msgid "Deallocate" +msgstr "" + +#: src/tables/build/BuildOutputTable.tsx:200 +msgid "Deallocate stock from build output" +msgstr "" + +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/tables/build/BuildOutputTable.tsx:206 +msgid "Complete build output" +msgstr "" + +#: src/tables/build/BuildOutputTable.tsx:215 +msgid "Scrap" +msgstr "" + +#: src/tables/build/BuildOutputTable.tsx:216 +msgid "Scrap build output" +msgstr "" + +#: src/tables/build/BuildOutputTable.tsx:226 +msgid "Cancel build output" +msgstr "" + +#: src/tables/build/BuildOutputTable.tsx:253 +msgid "Build Output" +msgstr "" + +#: src/tables/build/BuildOutputTable.tsx:266 +msgid "Batch" +msgstr "" + +#: src/tables/build/BuildOutputTable.tsx:280 +msgid "Allocated Items" +msgstr "" + +#: src/tables/build/BuildOutputTable.tsx:290 +msgid "Required Tests" +msgstr "" + +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:145 +msgid "Test Results" +msgstr "" + +#: src/tables/company/AddressTable.tsx:121 +#: src/tables/company/AddressTable.tsx:185 +msgid "Add Address" +msgstr "" + +#: src/tables/company/AddressTable.tsx:126 +msgid "Address created" +msgstr "" + +#: src/tables/company/AddressTable.tsx:135 +msgid "Edit Address" +msgstr "" + +#: src/tables/company/AddressTable.tsx:143 +msgid "Delete Address" +msgstr "" + +#: src/tables/company/AddressTable.tsx:144 +msgid "Are you sure you want to delete this address?" +msgstr "" + +#: src/tables/company/CompanyTable.tsx:71 +#~ msgid "New Company" +#~ msgstr "New Company" + +#: src/tables/company/CompanyTable.tsx:74 +#: src/tables/company/CompanyTable.tsx:123 +msgid "Add Company" +msgstr "" + +#: src/tables/company/CompanyTable.tsx:96 +msgid "Show active companies" +msgstr "" + +#: src/tables/company/CompanyTable.tsx:101 +msgid "Show companies which are suppliers" +msgstr "" + +#: src/tables/company/CompanyTable.tsx:106 +msgid "Show companies which are manufacturers" +msgstr "" + +#: src/tables/company/CompanyTable.tsx:111 +msgid "Show companies which are customers" +msgstr "" + +#: src/tables/company/ContactTable.tsx:71 +msgid "Edit Contact" +msgstr "" + +#: src/tables/company/ContactTable.tsx:78 +msgid "Add Contact" +msgstr "" + +#: src/tables/company/ContactTable.tsx:89 +msgid "Delete Contact" +msgstr "" + +#: src/tables/company/ContactTable.tsx:129 +msgid "Add contact" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:130 +msgid "File uploaded" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:131 +msgid "File {0} uploaded successfully" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:142 +msgid "Upload Error" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:143 +msgid "File could not be uploaded" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 +msgid "Add attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:232 +msgid "Add external link" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 +msgid "No attachments found" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" +msgstr "" + +#: src/tables/machine/MachineListTable.tsx:199 +msgid "Machine restarted" +msgstr "" + +#: src/tables/machine/MachineListTable.tsx:221 +#: src/tables/machine/MachineListTable.tsx:423 +msgid "Restart required" +msgstr "" + +#: src/tables/machine/MachineListTable.tsx:225 +msgid "Machine Actions" +msgstr "" + +#: src/tables/machine/MachineListTable.tsx:229 +#: src/tables/machine/MachineListTable.tsx:232 +msgid "Edit machine" +msgstr "" + +#: src/tables/machine/MachineListTable.tsx:244 +#: src/tables/machine/MachineListTable.tsx:247 +msgid "Delete machine" +msgstr "" + +#: src/tables/machine/MachineListTable.tsx:248 +msgid "Machine successfully deleted." +msgstr "" + +#: src/tables/machine/MachineListTable.tsx:252 +msgid "Are you sure you want to remove the machine \"{0}\"?" +msgstr "" + +#: src/tables/machine/MachineListTable.tsx:263 +msgid "Restart" +msgstr "" + +#: src/tables/machine/MachineListTable.tsx:265 +msgid "Restart machine" +msgstr "" + +#: src/tables/machine/MachineListTable.tsx:267 +msgid "manual restart required" +msgstr "" + +#: src/tables/machine/MachineListTable.tsx:283 +msgid "Machine information" +msgstr "" + +#: src/tables/machine/MachineListTable.tsx:294 +#: src/tables/machine/MachineListTable.tsx:590 +msgid "Machine Type" +msgstr "" + +#: src/tables/machine/MachineListTable.tsx:307 +msgid "Machine Driver" +msgstr "" + +#: src/tables/machine/MachineListTable.tsx:320 +msgid "Initialized" +msgstr "" + +#: src/tables/machine/MachineListTable.tsx:341 +#: src/tables/machine/MachineTypeTable.tsx:261 +msgid "Errors" +msgstr "" + +#: src/tables/machine/MachineListTable.tsx:349 +#: src/tables/machine/MachineTypeTable.tsx:269 +msgid "No errors reported" +msgstr "" + +#: src/tables/machine/MachineListTable.tsx:369 +msgid "Machine Settings" +msgstr "" + +#: src/tables/machine/MachineListTable.tsx:380 +msgid "Driver Settings" +msgstr "" + +#: src/tables/machine/MachineListTable.tsx:494 +#~ msgid "Create machine" +#~ msgstr "Create machine" + +#: src/tables/machine/MachineListTable.tsx:497 +msgid "Add machine" +msgstr "" + +#: src/tables/machine/MachineListTable.tsx:552 +msgid "Machine detail" +msgstr "" + +#: src/tables/machine/MachineListTable.tsx:599 +msgid "Driver" +msgstr "" + +#: src/tables/machine/MachineTypeTable.tsx:73 +msgid "Builtin driver" +msgstr "" + +#: src/tables/machine/MachineTypeTable.tsx:89 +msgid "Machine type not found." +msgstr "" + +#: src/tables/machine/MachineTypeTable.tsx:97 +msgid "Machine type information" +msgstr "" + +#: src/tables/machine/MachineTypeTable.tsx:110 +#: src/tables/machine/MachineTypeTable.tsx:217 +msgid "Slug" +msgstr "" + +#: src/tables/machine/MachineTypeTable.tsx:118 +#: src/tables/machine/MachineTypeTable.tsx:238 +msgid "Provider plugin" +msgstr "" + +#: src/tables/machine/MachineTypeTable.tsx:130 +#: src/tables/machine/MachineTypeTable.tsx:250 +msgid "Provider file" +msgstr "" + +#: src/tables/machine/MachineTypeTable.tsx:135 +#: src/tables/machine/MachineTypeTable.tsx:255 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 +msgid "Builtin" +msgstr "" + +#: src/tables/machine/MachineTypeTable.tsx:146 +msgid "Available drivers" +msgstr "" + +#: src/tables/machine/MachineTypeTable.tsx:196 +msgid "Machine driver not found." +msgstr "" + +#: src/tables/machine/MachineTypeTable.tsx:204 +msgid "Machine driver information" +msgstr "" + +#: src/tables/machine/MachineTypeTable.tsx:224 +msgid "Machine type" +msgstr "" + +#: src/tables/machine/MachineTypeTable.tsx:327 +msgid "Builtin type" +msgstr "" + +#: src/tables/machine/MachineTypeTable.tsx:336 +msgid "Machine type detail" +msgstr "" + +#: src/tables/machine/MachineTypeTable.tsx:346 +msgid "Machine driver detail" +msgstr "" + +#: src/tables/notifications/NotificationsTable.tsx:26 +msgid "Age" +msgstr "" + +#: src/tables/notifications/NotificationsTable.tsx:40 +#: src/tables/plugin/PluginErrorTable.tsx:37 +msgid "Message" +msgstr "" + +#: src/tables/part/ParametricPartTable.tsx:76 +#: src/tables/part/PartParameterTable.tsx:88 +msgid "Internal Units" +msgstr "" + +#: src/tables/part/ParametricPartTable.tsx:81 +msgid "Edit parameter" +msgstr "" + +#: src/tables/part/ParametricPartTable.tsx:124 +msgid "Add Part Parameter" +msgstr "" + +#: src/tables/part/ParametricPartTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 +msgid "Edit Part Parameter" +msgstr "" + +#: src/tables/part/PartCategoryTable.tsx:60 +#: src/tables/part/PartTable.tsx:180 +msgid "Include Subcategories" +msgstr "" + +#: src/tables/part/PartCategoryTable.tsx:61 +msgid "Include subcategories in results" +msgstr "" + +#: src/tables/part/PartCategoryTable.tsx:66 +msgid "Show structural categories" +msgstr "" + +#: src/tables/part/PartCategoryTable.tsx:73 +msgid "New Part Category" +msgstr "" + +#: src/tables/part/PartCategoryTable.tsx:98 +msgid "Add Part Category" +msgstr "" + +#: src/tables/part/PartCategoryTemplateTable.tsx:38 +#: src/tables/part/PartCategoryTemplateTable.tsx:131 +msgid "Add Category Parameter" +msgstr "" + +#: src/tables/part/PartCategoryTemplateTable.tsx:46 +msgid "Edit Category Parameter" +msgstr "" + +#: src/tables/part/PartCategoryTemplateTable.tsx:54 +msgid "Delete Category Parameter" +msgstr "" + +#: src/tables/part/PartCategoryTemplateTable.tsx:76 +msgid "Parameter Template" +msgstr "" + +#: src/tables/part/PartCategoryTemplateTable.tsx:93 +#~ msgid "[{0}]" +#~ msgstr "[{0}]" + +#: src/tables/part/PartParameterTable.tsx:105 +msgid "New Part Parameter" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 +msgid "Delete Part Parameter" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:170 +msgid "Add parameter" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:191 +#: src/tables/stock/StockItemTable.tsx:300 +msgid "Include Variants" +msgstr "" + +#: src/tables/part/PartParameterTemplateTable.tsx:31 +msgid "Checkbox" +msgstr "" + +#: src/tables/part/PartParameterTemplateTable.tsx:32 +msgid "Show checkbox templates" +msgstr "" + +#: src/tables/part/PartParameterTemplateTable.tsx:36 +msgid "Has choices" +msgstr "" + +#: src/tables/part/PartParameterTemplateTable.tsx:37 +msgid "Show templates with choices" +msgstr "" + +#: src/tables/part/PartParameterTemplateTable.tsx:41 +#: src/tables/part/PartTable.tsx:198 +msgid "Has Units" +msgstr "" + +#: src/tables/part/PartParameterTemplateTable.tsx:42 +msgid "Show templates with units" +msgstr "" + +#: src/tables/part/PartParameterTemplateTable.tsx:85 +msgid "Add Parameter Template" +msgstr "" + +#: src/tables/part/PartParameterTemplateTable.tsx:100 +msgid "Edit Parameter Template" +msgstr "" + +#: src/tables/part/PartParameterTemplateTable.tsx:111 +msgid "Delete Parameter Template" +msgstr "" + +#: src/tables/part/PartParameterTemplateTable.tsx:141 +msgid "Add parameter template" +msgstr "" + +#: src/tables/part/PartTable.tsx:67 +msgid "Minimum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:89 +msgid "Build Order Allocations" +msgstr "" + +#: src/tables/part/PartTable.tsx:98 +msgid "Sales Order Allocations" +msgstr "" + +#: src/tables/part/PartTable.tsx:169 +msgid "Filter by part active status" +msgstr "" + +#: src/tables/part/PartTable.tsx:174 +#: src/tables/stock/StockItemTable.tsx:265 +msgid "Assembly" +msgstr "" + +#: src/tables/part/PartTable.tsx:175 +msgid "Filter by assembly attribute" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +msgid "Include parts in subcategories" +msgstr "" + +#: src/tables/part/PartTable.tsx:187 +msgid "Filter by component attribute" +msgstr "" + +#: src/tables/part/PartTable.tsx:193 +msgid "Filter by trackable attribute" +msgstr "" + +#: src/tables/part/PartTable.tsx:199 +msgid "Filter by parts which have units" +msgstr "" + +#: src/tables/part/PartTable.tsx:204 +msgid "Has IPN" +msgstr "" + +#: src/tables/part/PartTable.tsx:205 +msgid "Filter by parts which have an internal part number" +msgstr "" + +#: src/tables/part/PartTable.tsx:210 +msgid "Has Stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:211 +msgid "Filter by parts which have stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:217 +msgid "Filter by parts which have low stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:222 +msgid "Purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:223 +msgid "Filter by parts which are purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:228 +msgid "Salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:229 +msgid "Filter by parts which are salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:235 +msgid "Filter by parts which are virtual" +msgstr "" + +#: src/tables/part/PartTable.tsx:239 +msgid "Not Virtual" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:84 +#: src/tables/stock/StockItemTestResultTable.tsx:360 +msgid "Required" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:85 +msgid "Show required tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:89 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 +msgid "Enabled" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:90 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:94 +msgid "Requires Value" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Show tests that require a value" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:99 +msgid "Requires Attachment" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Show tests that require an attachment" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:104 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:105 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:109 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:110 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:132 +#: src/tables/part/PartTestTemplateTable.tsx:207 +msgid "Add Test Template" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:148 +msgid "Edit Test Template" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:159 +msgid "Delete Test Template" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:161 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:163 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + +#: src/tables/part/PartVariantTable.tsx:16 +msgid "Show active variants" +msgstr "" + +#: src/tables/part/PartVariantTable.tsx:20 +msgid "Template" +msgstr "" + +#: src/tables/part/PartVariantTable.tsx:21 +msgid "Show template variants" +msgstr "" + +#: src/tables/part/PartVariantTable.tsx:26 +msgid "Show virtual variants" +msgstr "" + +#: src/tables/part/PartVariantTable.tsx:31 +msgid "Show trackable variants" +msgstr "" + +#: src/tables/part/RelatedPartTable.tsx:84 +msgid "Add Related Part" +msgstr "" + +#: src/tables/part/RelatedPartTable.tsx:99 +msgid "Delete Related Part" +msgstr "" + +#: src/tables/part/RelatedPartTable.tsx:106 +msgid "Add related part" +msgstr "" + +#: src/tables/plugin/PluginErrorTable.tsx:29 +msgid "Stage" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:97 +msgid "An error occurred while fetching plugin details" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" + +#: src/tables/plugin/PluginListTable.tsx:122 +msgid "Plugin information" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:134 +msgid "Author" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 +msgid "Package information" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:169 +msgid "Package Name" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:175 +msgid "Installation Path" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:185 +msgid "Package" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:197 +msgid "Plugin settings" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:214 +msgid "Plugin is active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:220 +msgid "Plugin is inactive" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:227 +msgid "Plugin is not installed" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:253 +msgid "Plugin" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:287 +msgid "Description not available" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 +msgid "Activate Plugin" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:338 +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" + +#: src/tables/plugin/PluginListTable.tsx:354 +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" + +#: src/tables/plugin/PluginListTable.tsx:355 +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" + +#: src/tables/plugin/PluginListTable.tsx:362 +msgid "Deactivate" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 +msgid "Activate" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 +msgid "Uninstall" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:438 +msgid "Install plugin" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:451 +msgid "Install" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:452 +msgid "Plugin installed successfully" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:457 +msgid "Uninstall Plugin" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:469 +msgid "Confirm plugin uninstall" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:472 +msgid "The selected plugin will be uninstalled." +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:473 +msgid "This action cannot be undone." +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:477 +msgid "Plugin uninstalled successfully" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:484 +msgid "Delete Plugin" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:485 +msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:498 +msgid "Plugins reloaded" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:499 +msgid "Plugins were reloaded successfully" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:515 +msgid "Reload Plugins" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:524 +msgid "Install Plugin" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:615 +#~ msgid "Plugin detail" +#~ msgstr "Plugin detail" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" +msgstr "" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" +msgstr "" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" +msgstr "" + +#: src/tables/purchasing/ManufacturerPartTable.tsx:63 +#~ msgid "Create Manufacturer Part" +#~ msgstr "Create Manufacturer Part" + +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 +msgid "Delete Manufacturer Part" +msgstr "" + +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + +#: src/tables/purchasing/ManufacturerPartTable.tsx:112 +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" + +#: src/tables/purchasing/ManufacturerPartTable.tsx:114 +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" + +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 +msgid "Part Description" +msgstr "" + +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113 +msgid "Total Quantity" +msgstr "" + +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129 +msgid "Received" +msgstr "" + +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148 +msgid "Supplier Code" +msgstr "" + +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155 +msgid "Supplier Link" +msgstr "" + +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162 +msgid "Manufacturer Code" +msgstr "" + +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176 +msgid "Destination" +msgstr "" + +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198 +msgid "Add Line Item" +msgstr "" + +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 +msgid "Edit Line Item" +msgstr "" + +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223 +msgid "Delete Line Item" +msgstr "" + +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234 +msgid "Receive line item" +msgstr "" + +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272 +msgid "Add line item" +msgstr "" + +#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282 +msgid "Receive items" +msgstr "" + +#: src/tables/purchasing/SupplierPartTable.tsx:93 +msgid "MPN" +msgstr "" + +#: src/tables/purchasing/SupplierPartTable.tsx:122 +msgid "Base units" +msgstr "" + +#: src/tables/purchasing/SupplierPartTable.tsx:170 +msgid "Supplier part created" +msgstr "" + +#: src/tables/purchasing/SupplierPartTable.tsx:176 +msgid "Add supplier part" +msgstr "" + +#: src/tables/purchasing/SupplierPartTable.tsx:188 +msgid "Show active supplier parts" +msgstr "" + +#: src/tables/purchasing/SupplierPartTable.tsx:192 +msgid "Active Part" +msgstr "" + +#: src/tables/purchasing/SupplierPartTable.tsx:193 +msgid "Show active internal parts" +msgstr "" + +#: src/tables/purchasing/SupplierPartTable.tsx:193 +#~ msgid "Supplier part updated" +#~ msgstr "Supplier part updated" + +#: src/tables/purchasing/SupplierPartTable.tsx:197 +msgid "Active Supplier" +msgstr "" + +#: src/tables/purchasing/SupplierPartTable.tsx:198 +msgid "Show active suppliers" +msgstr "" + +#: src/tables/purchasing/SupplierPartTable.tsx:205 +#~ msgid "Supplier part deleted" +#~ msgstr "Supplier part deleted" + +#: src/tables/purchasing/SupplierPartTable.tsx:207 +#~ msgid "Are you sure you want to remove this supplier part?" +#~ msgstr "Are you sure you want to remove this supplier part?" + +#: src/tables/purchasing/SupplierPartTable.tsx:218 +msgid "Delete Supplier Part" +msgstr "" + +#: src/tables/settings/CurrencyTable.tsx:28 +msgid "Rate" +msgstr "" + +#: src/tables/settings/CurrencyTable.tsx:40 +msgid "Exchange rates updated" +msgstr "" + +#: src/tables/settings/CurrencyTable.tsx:46 +msgid "Exchange rate update error" +msgstr "" + +#: src/tables/settings/CurrencyTable.tsx:57 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/tables/settings/CustomUnitsTable.tsx:50 +msgid "Add Custom Unit" +msgstr "" + +#: src/tables/settings/CustomUnitsTable.tsx:60 +msgid "Edit Custom Unit" +msgstr "" + +#: src/tables/settings/CustomUnitsTable.tsx:68 +msgid "Delete Custom Unit" +msgstr "" + +#: src/tables/settings/CustomUnitsTable.tsx:100 +msgid "Add custom unit" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:29 +msgid "When" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:39 +msgid "Error Information" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:51 +msgid "Delete Error Report" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" + +#: src/tables/settings/ErrorTable.tsx:53 +msgid "Are you sure you want to delete this error report?" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 +#: src/tables/settings/FailedTasksTable.tsx:57 +msgid "Error Details" +msgstr "" + +#: src/tables/settings/FailedTasksTable.tsx:24 +#: src/tables/settings/PendingTasksTable.tsx:17 +#: src/tables/settings/ScheduledTasksTable.tsx:19 +msgid "Task" +msgstr "" + +#: src/tables/settings/FailedTasksTable.tsx:30 +#: src/tables/settings/PendingTasksTable.tsx:22 +msgid "Task ID" +msgstr "" + +#: src/tables/settings/FailedTasksTable.tsx:34 +#: src/tables/stock/StockItemTestResultTable.tsx:206 +msgid "Started" +msgstr "" + +#: src/tables/settings/FailedTasksTable.tsx:40 +msgid "Stopped" +msgstr "" + +#: src/tables/settings/FailedTasksTable.tsx:46 +msgid "Attempts" +msgstr "" + +#: src/tables/settings/GroupTable.tsx:51 +msgid "Group with id {id} not found" +msgstr "" + +#: src/tables/settings/GroupTable.tsx:53 +msgid "An error occurred while fetching group details" +msgstr "" + +#: src/tables/settings/GroupTable.tsx:77 +msgid "Permission set" +msgstr "" + +#: src/tables/settings/GroupTable.tsx:126 +msgid "Delete group" +msgstr "" + +#: src/tables/settings/GroupTable.tsx:127 +msgid "Group deleted" +msgstr "" + +#: src/tables/settings/GroupTable.tsx:129 +msgid "Are you sure you want to delete this group?" +msgstr "" + +#: src/tables/settings/GroupTable.tsx:134 +#: src/tables/settings/GroupTable.tsx:146 +msgid "Add group" +msgstr "" + +#: src/tables/settings/GroupTable.tsx:158 +msgid "Edit group" +msgstr "" + +#: src/tables/settings/PendingTasksTable.tsx:36 +msgid "Arguments" +msgstr "" + +#: src/tables/settings/ProjectCodeTable.tsx:42 +msgid "Add Project Code" +msgstr "" + +#: src/tables/settings/ProjectCodeTable.tsx:54 +msgid "Edit Project Code" +msgstr "" + +#: src/tables/settings/ProjectCodeTable.tsx:62 +msgid "Delete Project Code" +msgstr "" + +#: src/tables/settings/ProjectCodeTable.tsx:94 +msgid "Add project code" +msgstr "" + +#: src/tables/settings/ScheduledTasksTable.tsx:25 +msgid "Last Run" +msgstr "" + +#: src/tables/settings/ScheduledTasksTable.tsx:47 +msgid "Next Run" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + +#: src/tables/settings/TemplateTable.tsx:124 +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" + +#: src/tables/settings/TemplateTable.tsx:146 +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:243 +#~ msgid "Add new" +#~ msgstr "Add new" + +#: src/tables/settings/TemplateTable.tsx:243 +#~ msgid "Create new" +#~ msgstr "Create new" + +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 +msgid "Filter by enabled status" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/UserTable.tsx:79 +msgid "User with id {id} not found" +msgstr "" + +#: src/tables/settings/UserTable.tsx:81 +msgid "An error occurred while fetching user details" +msgstr "" + +#: src/tables/settings/UserTable.tsx:99 +msgid "Is Active" +msgstr "" + +#: src/tables/settings/UserTable.tsx:100 +msgid "Designates whether this user should be treated as active. Unselect this instead of deleting accounts." +msgstr "" + +#: src/tables/settings/UserTable.tsx:104 +msgid "Is Staff" +msgstr "" + +#: src/tables/settings/UserTable.tsx:105 +msgid "Designates whether the user can log into the django admin site." +msgstr "" + +#: src/tables/settings/UserTable.tsx:109 +msgid "Is Superuser" +msgstr "" + +#: src/tables/settings/UserTable.tsx:110 +msgid "Designates that this user has all permissions without explicitly assigning them." +msgstr "" + +#: src/tables/settings/UserTable.tsx:120 +msgid "You cannot edit the rights for the currently logged-in user." +msgstr "" + +#: src/tables/settings/UserTable.tsx:151 +msgid "No groups" +msgstr "" + +#: src/tables/settings/UserTable.tsx:231 +msgid "Delete user" +msgstr "" + +#: src/tables/settings/UserTable.tsx:232 +msgid "User deleted" +msgstr "" + +#: src/tables/settings/UserTable.tsx:234 +msgid "Are you sure you want to delete this user?" +msgstr "" + +#: src/tables/settings/UserTable.tsx:240 +#: src/tables/settings/UserTable.tsx:258 +msgid "Add user" +msgstr "" + +#: src/tables/settings/UserTable.tsx:248 +msgid "Added user" +msgstr "" + +#: src/tables/settings/UserTable.tsx:270 +msgid "Edit user" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:90 +msgid "This stock item is in production" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:99 +msgid "This stock item has been assigned to a sales order" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:108 +msgid "This stock item has been assigned to a customer" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:117 +msgid "This stock item is installed in another stock item" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:126 +msgid "This stock item has been consumed by a build order" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:135 +msgid "This stock item has expired" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:139 +msgid "This stock item is stale" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:150 +msgid "This stock item is fully allocated" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:157 +msgid "This stock item is partially allocated" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:185 +msgid "This stock item has been depleted" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:255 +msgid "Show stock for active parts" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:260 +msgid "Filter by stock status" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:266 +msgid "Show stock for assmebled parts" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:271 +msgid "Show items which have been allocated" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:276 +msgid "Show items which are available" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockLocationTable.tsx:33 +msgid "Include Sublocations" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:281 +msgid "Include stock in sublocations" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:285 +msgid "Depleted" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:286 +msgid "Show depleted stock items" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:291 +msgid "Show items which are in stock" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:296 +msgid "Show items which are in production" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:301 +msgid "Include stock items for variant parts" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:306 +msgid "Show stock items which are installed in other items" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:310 +msgid "Sent to Customer" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:311 +msgid "Show items which have been sent to a customer" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:315 +msgid "Is Serialized" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:316 +msgid "Show items which have a serial number" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:323 +msgid "Has Batch Code" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:324 +msgid "Show items which have a batch code" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:330 +msgid "Show tracked items" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:334 +msgid "Has Purchase Price" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:335 +msgid "Show items which have a purchase price" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:343 +msgid "External Location" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:344 +msgid "Show items in an external location" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:416 +msgid "Add a new stock item" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:425 +msgid "Remove some quantity from a stock item" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:447 +msgid "Move Stock items to new locations" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:454 +msgid "Change stock status" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:456 +msgid "Change the status of stock items" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:463 +msgid "Merge stock" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:465 +msgid "Merge stock items" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:472 +msgid "Order stock" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:474 +#: src/tables/stock/StockItemTable.tsx:480 +msgid "Order new stock" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:478 +msgid "Assign to customer" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:487 +msgid "Delete stock" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:489 +msgid "Delete stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:126 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:152 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:163 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:169 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:185 +msgid "Attachment" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:201 +msgid "Test station" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:221 +msgid "Finished" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:324 +#: src/tables/stock/StockItemTestResultTable.tsx:379 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:263 +#: src/tables/stock/StockItemTestResultTable.tsx:334 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:265 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:271 +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:273 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:287 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:288 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:295 +msgid "Failed to record test result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:312 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:365 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:370 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:371 +msgid "Show only passed tests" +msgstr "" + +#: src/tables/stock/StockLocationTable.tsx:34 +msgid "Include sublocations in results" +msgstr "" + +#: src/tables/stock/StockLocationTable.tsx:38 +msgid "structural" +msgstr "" + +#: src/tables/stock/StockLocationTable.tsx:39 +msgid "Show structural locations" +msgstr "" + +#: src/tables/stock/StockLocationTable.tsx:43 +msgid "external" +msgstr "" + +#: src/tables/stock/StockLocationTable.tsx:44 +msgid "Show external locations" +msgstr "" + +#: src/tables/stock/StockLocationTable.tsx:48 +msgid "Has location type" +msgstr "" + +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 +msgid "Add Stock Location" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + +#: src/views/MobileAppView.tsx:22 +msgid "Mobile viewport detected" +msgstr "" + +#: src/views/MobileAppView.tsx:25 +msgid "Platform UI is optimized for Tablets and Desktops, you can use the official app for a mobile experience." +msgstr "" + +#: src/views/MobileAppView.tsx:31 +msgid "Read the docs" +msgstr "" + +#: src/views/MobileAppView.tsx:35 +msgid "Ignore and continue to Desktop view" +msgstr "" + diff --git a/src/frontend/src/locales/ru/messages.po b/src/frontend/src/locales/ru/messages.po index 3dfdc14580..2f8d9be92f 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: 2024-06-09 22:50\n" +"PO-Revision-Date: 2024-06-11 23:04\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" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 -msgid "Turkish" +msgid "Thai" msgstr "" #: src/contexts/LanguageContext.tsx:49 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: src/contexts/LanguageContext.tsx:50 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: src/contexts/LanguageContext.tsx:51 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" diff --git a/src/frontend/src/locales/sk/messages.po b/src/frontend/src/locales/sk/messages.po index 2c408849e0..0a33e3ca81 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: 2024-06-09 22:50\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 -msgid "Turkish" +msgid "Thai" msgstr "" #: src/contexts/LanguageContext.tsx:49 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: src/contexts/LanguageContext.tsx:50 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: src/contexts/LanguageContext.tsx:51 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" diff --git a/src/frontend/src/locales/sl/messages.po b/src/frontend/src/locales/sl/messages.po index 32bfa53652..42f9222aa2 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: 2024-06-09 22:50\n" +"PO-Revision-Date: 2024-06-11 23:04\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" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 -msgid "Turkish" +msgid "Thai" msgstr "" #: src/contexts/LanguageContext.tsx:49 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: src/contexts/LanguageContext.tsx:50 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: src/contexts/LanguageContext.tsx:51 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" diff --git a/src/frontend/src/locales/sr/messages.po b/src/frontend/src/locales/sr/messages.po index 25b4d449a5..743d0d0f2c 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: 2024-06-09 22:50\n" +"PO-Revision-Date: 2024-06-11 23:05\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" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 -msgid "Turkish" +msgid "Thai" msgstr "" #: src/contexts/LanguageContext.tsx:49 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: src/contexts/LanguageContext.tsx:50 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: src/contexts/LanguageContext.tsx:51 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" diff --git a/src/frontend/src/locales/sv/messages.po b/src/frontend/src/locales/sv/messages.po index 0eeb29a2be..ed3051c436 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: 2024-06-09 22:50\n" +"PO-Revision-Date: 2024-06-12 23:00\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -271,11 +271,11 @@ msgstr "" #: src/components/editors/NotesEditor.tsx:193 msgid "Edit Notes" -msgstr "" +msgstr "Redigera anteckningar" #: src/components/editors/NotesEditor.tsx:207 msgid "Save Notes" -msgstr "" +msgstr "Spara anteckningar" #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" @@ -1377,12 +1377,12 @@ msgstr "Användare" #: src/components/render/ModelType.tsx:200 msgid "Label Template" -msgstr "" +msgstr "Etikettmall" #: src/components/render/ModelType.tsx:201 #: src/pages/Index/Settings/AdminCenter/Index.tsx:135 msgid "Label Templates" -msgstr "" +msgstr "Etikettmallar" #: src/components/render/ModelType.tsx:207 msgid "Report Template" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 +msgid "Romanian" +msgstr "Rumänska" + +#: src/contexts/LanguageContext.tsx:44 msgid "Russian" msgstr "Ryska" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:45 msgid "Slovak" msgstr "Slovakiska" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:46 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:47 msgid "Swedish" msgstr "Svenska" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:48 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:49 msgid "Turkish" msgstr "Turkiska" -#: src/contexts/LanguageContext.tsx:49 +#: src/contexts/LanguageContext.tsx:50 msgid "Ukrainian" msgstr "Ukrainska" -#: src/contexts/LanguageContext.tsx:50 +#: src/contexts/LanguageContext.tsx:51 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:51 +#: src/contexts/LanguageContext.tsx:52 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:52 +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" @@ -6414,15 +6418,15 @@ msgstr "" #: src/tables/settings/TemplateTable.tsx:222 #: src/tables/settings/TemplateTable.tsx:289 msgid "Edit Template" -msgstr "" +msgstr "Redigera mall" #: src/tables/settings/TemplateTable.tsx:230 msgid "Delete template" -msgstr "" +msgstr "Radera mall" #: src/tables/settings/TemplateTable.tsx:236 msgid "Add Template" -msgstr "" +msgstr "Lägg till mall" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Add new" @@ -6434,7 +6438,7 @@ msgstr "" #: src/tables/settings/TemplateTable.tsx:249 msgid "Add template" -msgstr "" +msgstr "Lägg till mall" #: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" diff --git a/src/frontend/src/locales/th/messages.po b/src/frontend/src/locales/th/messages.po index 9aff2a750a..707388c7cd 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: 2024-06-09 22:50\n" +"PO-Revision-Date: 2024-06-11 23:05\n" "Last-Translator: \n" "Language-Team: Thai\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 -msgid "Turkish" +msgid "Thai" msgstr "" #: src/contexts/LanguageContext.tsx:49 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: src/contexts/LanguageContext.tsx:50 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: src/contexts/LanguageContext.tsx:51 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" diff --git a/src/frontend/src/locales/tr/messages.po b/src/frontend/src/locales/tr/messages.po index d16819ebd1..ee14a0c619 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: 2024-06-09 22:50\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 -msgid "Turkish" +msgid "Thai" msgstr "" #: src/contexts/LanguageContext.tsx:49 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: src/contexts/LanguageContext.tsx:50 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: src/contexts/LanguageContext.tsx:51 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" diff --git a/src/frontend/src/locales/uk/messages.po b/src/frontend/src/locales/uk/messages.po index f9a8266fba..8d6f8e0fb5 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: 2024-06-09 22:50\n" +"PO-Revision-Date: 2024-06-11 23:04\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" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 -msgid "Turkish" +msgid "Thai" msgstr "" #: src/contexts/LanguageContext.tsx:49 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: src/contexts/LanguageContext.tsx:50 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: src/contexts/LanguageContext.tsx:51 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" diff --git a/src/frontend/src/locales/vi/messages.po b/src/frontend/src/locales/vi/messages.po index 0dc457665e..1b110a4390 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: 2024-06-09 22:50\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "Portuguese (Brazilian)" #: src/contexts/LanguageContext.tsx:43 +msgid "Romanian" +msgstr "" + +#: src/contexts/LanguageContext.tsx:44 msgid "Russian" msgstr "Russian" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:45 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:46 msgid "Slovenian" msgstr "Slovenian" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:47 msgid "Swedish" msgstr "Swedish" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:48 msgid "Thai" msgstr "Thai" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:49 msgid "Turkish" msgstr "Turkish" -#: src/contexts/LanguageContext.tsx:49 +#: src/contexts/LanguageContext.tsx:50 msgid "Ukrainian" msgstr "" -#: src/contexts/LanguageContext.tsx:50 +#: src/contexts/LanguageContext.tsx:51 msgid "Vietnamese" msgstr "Tiếng Việt" -#: src/contexts/LanguageContext.tsx:51 +#: src/contexts/LanguageContext.tsx:52 msgid "Chinese (Simplified)" msgstr "Chinese (Simplified)" -#: src/contexts/LanguageContext.tsx:52 +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "Chinese (Traditional)" diff --git a/src/frontend/src/locales/zh-hans/messages.po b/src/frontend/src/locales/zh-hans/messages.po index b004c60d08..c20f2b65bc 100644 --- a/src/frontend/src/locales/zh-hans/messages.po +++ b/src/frontend/src/locales/zh-hans/messages.po @@ -1956,42 +1956,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 -msgid "Turkish" +msgid "Thai" msgstr "" #: src/contexts/LanguageContext.tsx:49 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: src/contexts/LanguageContext.tsx:50 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: src/contexts/LanguageContext.tsx:51 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" diff --git a/src/frontend/src/locales/zh-hant/messages.po b/src/frontend/src/locales/zh-hant/messages.po index 497e573413..3e73eebafa 100644 --- a/src/frontend/src/locales/zh-hant/messages.po +++ b/src/frontend/src/locales/zh-hant/messages.po @@ -1956,42 +1956,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 -msgid "Turkish" +msgid "Thai" msgstr "" #: src/contexts/LanguageContext.tsx:49 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: src/contexts/LanguageContext.tsx:50 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: src/contexts/LanguageContext.tsx:51 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" diff --git a/src/frontend/src/locales/zh/messages.po b/src/frontend/src/locales/zh/messages.po index b3f91fb180..48d37cffd0 100644 --- a/src/frontend/src/locales/zh/messages.po +++ b/src/frontend/src/locales/zh/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: zh\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-06-09 22:50\n" +"PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -1992,42 +1992,46 @@ msgid "Portuguese (Brazilian)" msgstr "" #: src/contexts/LanguageContext.tsx:43 -msgid "Russian" +msgid "Romanian" msgstr "" #: src/contexts/LanguageContext.tsx:44 -msgid "Slovak" +msgid "Russian" msgstr "" #: src/contexts/LanguageContext.tsx:45 -msgid "Slovenian" +msgid "Slovak" msgstr "" #: src/contexts/LanguageContext.tsx:46 -msgid "Swedish" +msgid "Slovenian" msgstr "" #: src/contexts/LanguageContext.tsx:47 -msgid "Thai" +msgid "Swedish" msgstr "" #: src/contexts/LanguageContext.tsx:48 -msgid "Turkish" +msgid "Thai" msgstr "" #: src/contexts/LanguageContext.tsx:49 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: src/contexts/LanguageContext.tsx:50 -msgid "Vietnamese" +msgid "Ukrainian" msgstr "" #: src/contexts/LanguageContext.tsx:51 -msgid "Chinese (Simplified)" +msgid "Vietnamese" msgstr "" #: src/contexts/LanguageContext.tsx:52 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/contexts/LanguageContext.tsx:53 msgid "Chinese (Traditional)" msgstr "" From 2d234e283111188d70d32676f606203675e9740e Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 14 Jun 2024 23:22:29 +1000 Subject: [PATCH 18/59] Allow build line list to be searched by IPN (#7442) - Closes https://github.com/inventree/InvenTree/issues/7434 --- src/backend/InvenTree/build/api.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/backend/InvenTree/build/api.py b/src/backend/InvenTree/build/api.py index f84bca1273..dd0e3bb6b6 100644 --- a/src/backend/InvenTree/build/api.py +++ b/src/backend/InvenTree/build/api.py @@ -380,6 +380,8 @@ class BuildLineList(BuildLineEndpoint, ListCreateAPI): search_fields = [ 'bom_item__sub_part__name', + 'bom_item__sub_part__IPN', + 'bom_item__sub_part__description', 'bom_item__reference', ] From 20e48e5f20e9fa179df66892102574ad7c7a5911 Mon Sep 17 00:00:00 2001 From: Oliver Date: Sun, 16 Jun 2024 12:36:15 +1000 Subject: [PATCH 19/59] Small refactor for stock item post-save signals (#7449) --- src/backend/InvenTree/stock/models.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/backend/InvenTree/stock/models.py b/src/backend/InvenTree/stock/models.py index 5b6c6dab18..192b8fa62f 100644 --- a/src/backend/InvenTree/stock/models.py +++ b/src/backend/InvenTree/stock/models.py @@ -2224,15 +2224,16 @@ def after_delete_stock_item(sender, instance: StockItem, **kwargs): """Function to be executed after a StockItem object is deleted.""" from part import tasks as part_tasks - if not InvenTree.ready.isImportingData(): + if not InvenTree.ready.isImportingData() and InvenTree.ready.canAppAccessDatabase( + allow_test=True + ): # Run this check in the background InvenTree.tasks.offload_task( part_tasks.notify_low_stock_if_required, instance.part ) # Schedule an update on parent part pricing - if InvenTree.ready.canAppAccessDatabase(allow_test=True): - instance.part.schedule_pricing_update(create=False) + instance.part.schedule_pricing_update(create=False) @receiver(post_save, sender=StockItem, dispatch_uid='stock_item_post_save_log') @@ -2240,14 +2241,18 @@ def after_save_stock_item(sender, instance: StockItem, created, **kwargs): """Hook function to be executed after StockItem object is saved/updated.""" from part import tasks as part_tasks - if created and not InvenTree.ready.isImportingData(): + if ( + created + and not InvenTree.ready.isImportingData() + and InvenTree.ready.canAppAccessDatabase(allow_test=True) + ): # Run this check in the background InvenTree.tasks.offload_task( part_tasks.notify_low_stock_if_required, instance.part ) - if InvenTree.ready.canAppAccessDatabase(allow_test=True): - instance.part.schedule_pricing_update(create=True) + # Schedule an update on parent part pricing + instance.part.schedule_pricing_update(create=True) class StockItemAttachment(InvenTree.models.InvenTreeAttachment): From 49f6981f463ca7b3c1808f36cccad3e0dcbecfc3 Mon Sep 17 00:00:00 2001 From: Oliver Date: Sun, 16 Jun 2024 16:23:28 +1000 Subject: [PATCH 20/59] Fix for gunicorn command (#7450) * Fix for gunicorn command * Allow override of worker count --- tasks.py | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/tasks.py b/tasks.py index d585f103f8..3127465120 100644 --- a/tasks.py +++ b/tasks.py @@ -777,18 +777,31 @@ def wait(c): return manage(c, 'wait_for_db') -@task(pre=[wait], help={'address': 'Server address:port (default=0.0.0.0:8000)'}) -def gunicorn(c, address='0.0.0.0:8000'): +@task( + pre=[wait], + help={ + 'address': 'Server address:port (default=0.0.0.0:8000)', + 'workers': 'Specify number of worker threads (override config file)', + }, +) +def gunicorn(c, address='0.0.0.0:8000', workers=None): """Launch a gunicorn webserver. Note: This server will not auto-reload in response to code changes. """ - c.run( - 'gunicorn -c ./docker/gunicorn.conf.py InvenTree.wsgi -b {address} --chdir ./InvenTree'.format( - address=address - ), - pty=True, - ) + here = os.path.dirname(os.path.abspath(__file__)) + config_file = os.path.join(here, 'contrib', 'container', 'gunicorn.conf.py') + chdir = os.path.join(here, 'src', 'backend', 'InvenTree') + + cmd = f'gunicorn -c {config_file} InvenTree.wsgi -b {address} --chdir {chdir}' + + if workers: + cmd += f' --workers={workers}' + + print('Starting Gunicorn Server:') + print(cmd) + + c.run(cmd, pty=True) @task(pre=[wait], help={'address': 'Server address:port (default=127.0.0.1:8000)'}) From 79ea6897ea1cff61af00f6077f98702b223e0af7 Mon Sep 17 00:00:00 2001 From: Oliver Date: Sun, 16 Jun 2024 17:06:09 +1000 Subject: [PATCH 21/59] Improve stock item tracking API query (#7451) * Improve stock item tracking API query - Cache related model lookups into single DB queries - Significant improvements to query speed - Ref: https://github.com/inventree/InvenTree/issues/7429 * Handle case where item does not exist in DB --- src/backend/InvenTree/stock/api.py | 108 ++++++++++------------------- 1 file changed, 38 insertions(+), 70 deletions(-) diff --git a/src/backend/InvenTree/stock/api.py b/src/backend/InvenTree/stock/api.py index e78fd277a0..4142083006 100644 --- a/src/backend/InvenTree/stock/api.py +++ b/src/backend/InvenTree/stock/api.py @@ -1408,6 +1408,22 @@ class StockTrackingList(ListAPI): return self.serializer_class(*args, **kwargs) + def get_delta_model_map(self) -> dict: + """Return a mapping of delta models to their respective models and serializers. + + This is used to generate additional context information for the historical data, + with some attempt at caching so that we can reduce the number of database hits. + """ + return { + 'part': (Part, PartBriefSerializer), + 'location': (StockLocation, StockSerializers.LocationSerializer), + 'customer': (Company, CompanySerializer), + 'purchaseorder': (PurchaseOrder, PurchaseOrderSerializer), + 'salesorder': (SalesOrder, SalesOrderSerializer), + 'returnorder': (ReturnOrder, ReturnOrderSerializer), + 'buildorder': (Build, BuildSerializer), + } + def list(self, request, *args, **kwargs): """List all stock tracking entries.""" queryset = self.filter_queryset(self.get_queryset()) @@ -1421,84 +1437,36 @@ class StockTrackingList(ListAPI): data = serializer.data - # Attempt to add extra context information to the historical data + delta_models = self.get_delta_model_map() + + # Construct a set of related models we need to lookup for later + related_model_lookups = {key: set() for key in delta_models.keys()} + + # Run a first pass through the data to determine which related models we need to lookup for item in data: deltas = item['deltas'] - if not deltas: - deltas = {} + for key in delta_models.keys(): + if key in deltas: + related_model_lookups[key].add(deltas[key]) - # Add part detail - if 'part' in deltas: - try: - part = Part.objects.get(pk=deltas['part']) - serializer = PartBriefSerializer(part) - deltas['part_detail'] = serializer.data - except Exception: - pass + for key in delta_models.keys(): + model, serializer = delta_models[key] - # Add location detail - if 'location' in deltas: - try: - location = StockLocation.objects.get(pk=deltas['location']) - serializer = StockSerializers.LocationSerializer(location) - deltas['location_detail'] = serializer.data - except Exception: - pass + # Fetch all related models in one go + related_models = model.objects.filter(pk__in=related_model_lookups[key]) - # Add stockitem detail - if 'stockitem' in deltas: - try: - stockitem = StockItem.objects.get(pk=deltas['stockitem']) - serializer = StockSerializers.StockItemSerializer(stockitem) - deltas['stockitem_detail'] = serializer.data - except Exception: - pass + # Construct a mapping of pk -> serialized data + related_data = {obj.pk: serializer(obj).data for obj in related_models} - # Add customer detail - if 'customer' in deltas: - try: - customer = Company.objects.get(pk=deltas['customer']) - serializer = CompanySerializer(customer) - deltas['customer_detail'] = serializer.data - except Exception: - pass + # Now, update the data with the serialized data + for item in data: + deltas = item['deltas'] - # Add PurchaseOrder detail - if 'purchaseorder' in deltas: - try: - order = PurchaseOrder.objects.get(pk=deltas['purchaseorder']) - serializer = PurchaseOrderSerializer(order) - deltas['purchaseorder_detail'] = serializer.data - except Exception: - pass - - # Add SalesOrder detail - if 'salesorder' in deltas: - try: - order = SalesOrder.objects.get(pk=deltas['salesorder']) - serializer = SalesOrderSerializer(order) - deltas['salesorder_detail'] = serializer.data - except Exception: - pass - - # Add ReturnOrder detail - if 'returnorder' in deltas: - try: - order = ReturnOrder.objects.get(pk=deltas['returnorder']) - serializer = ReturnOrderSerializer(order) - deltas['returnorder_detail'] = serializer.data - except Exception: - pass - - # Add BuildOrder detail - if 'buildorder' in deltas: - try: - order = Build.objects.get(pk=deltas['buildorder']) - serializer = BuildSerializer(order) - deltas['buildorder_detail'] = serializer.data - except Exception: - pass + if key in deltas: + item['deltas'][f'{key}_detail'] = related_data.get( + deltas[key], None + ) if page is not None: return self.get_paginated_response(data) From 946390a4a391b21afba3ac2d515b1aef5932e86b Mon Sep 17 00:00:00 2001 From: Oliver Date: Sun, 16 Jun 2024 23:38:33 +1000 Subject: [PATCH 22/59] small code tweaks (#7454) --- src/backend/InvenTree/part/helpers.py | 8 ++-- src/backend/InvenTree/part/urls.py | 1 - src/backend/InvenTree/stock/serializers.py | 50 +++++++++++----------- 3 files changed, 28 insertions(+), 31 deletions(-) diff --git a/src/backend/InvenTree/part/helpers.py b/src/backend/InvenTree/part/helpers.py index ab20c795d7..fcd24b0f2e 100644 --- a/src/backend/InvenTree/part/helpers.py +++ b/src/backend/InvenTree/part/helpers.py @@ -7,6 +7,8 @@ from django.conf import settings from jinja2 import Environment, select_autoescape +from common.settings import get_global_setting + logger = logging.getLogger('inventree') @@ -20,14 +22,10 @@ def compile_full_name_template(*args, **kwargs): This function is called whenever the 'PART_NAME_FORMAT' setting is changed. """ - from common.models import InvenTreeSetting - global _part_full_name_template global _part_full_name_template_string - template_string = InvenTreeSetting.get_setting( - 'PART_NAME_FORMAT', backup_value='', cache=True - ) + template_string = get_global_setting('PART_NAME_FORMAT', cache=True) # Skip if the template string has not changed if ( diff --git a/src/backend/InvenTree/part/urls.py b/src/backend/InvenTree/part/urls.py index 35eca76837..9b05133607 100644 --- a/src/backend/InvenTree/part/urls.py +++ b/src/backend/InvenTree/part/urls.py @@ -3,7 +3,6 @@ Provides URL endpoints for: - Display / Create / Edit / Delete PartCategory - Display / Create / Edit / Delete Part -- Create / Edit / Delete PartAttachment - Display / Create / Edit / Delete SupplierPart """ diff --git a/src/backend/InvenTree/stock/serializers.py b/src/backend/InvenTree/stock/serializers.py index 3cfd845803..2e0c2d2531 100644 --- a/src/backend/InvenTree/stock/serializers.py +++ b/src/backend/InvenTree/stock/serializers.py @@ -391,6 +391,31 @@ class StockItemSerializer(InvenTree.serializers.InvenTreeTagModelSerializer): """ extra_kwargs = {'use_pack_size': {'write_only': True}} + def __init__(self, *args, **kwargs): + """Add detail fields.""" + part_detail = kwargs.pop('part_detail', False) + location_detail = kwargs.pop('location_detail', False) + supplier_part_detail = kwargs.pop('supplier_part_detail', False) + tests = kwargs.pop('tests', False) + path_detail = kwargs.pop('path_detail', False) + + super(StockItemSerializer, self).__init__(*args, **kwargs) + + if not part_detail: + self.fields.pop('part_detail') + + if not location_detail: + self.fields.pop('location_detail') + + if not supplier_part_detail: + self.fields.pop('supplier_part_detail') + + if not tests: + self.fields.pop('tests') + + if not path_detail: + self.fields.pop('location_path') + part = serializers.PrimaryKeyRelatedField( queryset=part_models.Part.objects.all(), many=False, @@ -547,31 +572,6 @@ class StockItemSerializer(InvenTree.serializers.InvenTreeTagModelSerializer): tags = TagListSerializerField(required=False) - def __init__(self, *args, **kwargs): - """Add detail fields.""" - part_detail = kwargs.pop('part_detail', False) - location_detail = kwargs.pop('location_detail', False) - supplier_part_detail = kwargs.pop('supplier_part_detail', False) - tests = kwargs.pop('tests', False) - path_detail = kwargs.pop('path_detail', False) - - super(StockItemSerializer, self).__init__(*args, **kwargs) - - if not part_detail: - self.fields.pop('part_detail') - - if not location_detail: - self.fields.pop('location_detail') - - if not supplier_part_detail: - self.fields.pop('supplier_part_detail') - - if not tests: - self.fields.pop('tests') - - if not path_detail: - self.fields.pop('location_path') - class SerializeStockItemSerializer(serializers.Serializer): """A DRF serializer for "serializing" a StockItem. From db7632ecb976558dc3100cf3a288ba4a07af5f16 Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 17 Jun 2024 08:16:56 +1000 Subject: [PATCH 23/59] Update data migration (#7455) - Handle case with missing data --- .../InvenTree/report/migrations/0026_auto_20240422_1301.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/InvenTree/report/migrations/0026_auto_20240422_1301.py b/src/backend/InvenTree/report/migrations/0026_auto_20240422_1301.py index 5f7bc8afd1..e1ce0fbd69 100644 --- a/src/backend/InvenTree/report/migrations/0026_auto_20240422_1301.py +++ b/src/backend/InvenTree/report/migrations/0026_auto_20240422_1301.py @@ -59,7 +59,7 @@ def convert_legacy_labels(table_name, model_name, template_model): } for field in non_null_fields: - if data[field] is None: + if data.get(field, None) is None: data[field] = '' # Skip any "builtin" labels From e6886785d65a8c3fc4e5eddaa7c6fae9cfbe4c19 Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 17 Jun 2024 21:07:25 +1000 Subject: [PATCH 24/59] Add unit test for stockitemtracking API (#7459) --- src/backend/InvenTree/stock/test_api.py | 92 +++++++++++++++++++++++++ 1 file changed, 92 insertions(+) diff --git a/src/backend/InvenTree/stock/test_api.py b/src/backend/InvenTree/stock/test_api.py index 91dbccfbb0..a0cf28c3bf 100644 --- a/src/backend/InvenTree/stock/test_api.py +++ b/src/backend/InvenTree/stock/test_api.py @@ -2,6 +2,7 @@ import io import os +import random from datetime import datetime, timedelta from enum import IntEnum @@ -22,6 +23,7 @@ from part.models import Part, PartTestTemplate from stock.models import ( StockItem, StockItemTestResult, + StockItemTracking, StockLocation, StockLocationType, ) @@ -1770,6 +1772,96 @@ class StockTestResultTest(StockAPITestCase): ) +class StockTrackingTest(StockAPITestCase): + """Tests for the StockTracking API endpoints.""" + + fixtures = [ + *StockAPITestCase.fixtures, + 'build', + 'order', + 'return_order', + 'sales_order', + ] + + @classmethod + def setUpTestData(cls): + """Initialize some test data for the StockTracking tests.""" + super().setUpTestData() + + import build.models + import company.models + import order.models + import stock.models + import stock.status_codes + + entries = [] + + N_BO = build.models.Build.objects.count() + N_PO = order.models.PurchaseOrder.objects.count() + N_RO = order.models.ReturnOrder.objects.count() + N_SO = order.models.SalesOrder.objects.count() + + N_COMPANY = company.models.Company.objects.count() + N_LOCATION = stock.models.StockLocation.objects.count() + + # Generate a large quantity of tracking items + # Note that the pk values are not guaranteed to exist in the database + for item in StockItem.objects.all(): + for i in range(50): + entries.append( + StockItemTracking( + item=item, + notes='This is a test entry', + tracking_type=stock.status_codes.StockHistoryCode.LEGACY.value, + deltas={ + 'quantity': 50 - i, + 'buildorder': random.randint(0, N_BO + 1), + 'purchaseorder': random.randint(0, N_PO + 1), + 'returnorder': random.randint(0, N_RO + 1), + 'salesorder': random.randint(0, N_SO + 1), + 'customer': random.randint(0, N_COMPANY + 1), + 'location': random.randint(0, N_LOCATION + 1), + }, + ) + ) + + StockItemTracking.objects.bulk_create(entries) + + def get_url(self): + """Helper function to get stock tracking api url.""" + return reverse('api-stock-tracking-list') + + def test_count(self): + """Test list endpoint with limit = 1.""" + url = self.get_url() + + N = StockItemTracking.objects.count() + + # Test counting + response = self.get(url, {'limit': 1}) + self.assertEqual(response.data['count'], N) + + def test_list(self): + """Test list endpoint.""" + url = self.get_url() + + N = StockItemTracking.objects.count() + self.assertGreater(N, 1000) + + response = self.client.get(url, max_query_count=25) + self.assertEqual(len(response.data), N) + + # Check expected delta values + keys = ['quantity', 'returnorder', 'buildorder', 'customer'] + + for item in response.data: + deltas = item['deltas'] + + for key in keys: + self.assertIn(key, deltas) + self.assertIsNotNone(deltas.get(key, None)) + + class StockAssignTest(StockAPITestCase): """Unit tests for the stock assignment API endpoint, where stock items are manually assigned to a customer.""" From 9a45e30da78a16aa0f3d52dc2c22f41d131aa442 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Jun 2024 23:41:54 +1000 Subject: [PATCH 25/59] Bump eslint from 9.4.0 to 9.5.0 in /src/backend (#7463) Bumps [eslint](https://github.com/eslint/eslint) from 9.4.0 to 9.5.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v9.4.0...v9.5.0) --- updated-dependencies: - dependency-name: eslint dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/backend/package-lock.json | 36 +++++++++++++++++------------------ src/backend/package.json | 2 +- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/backend/package-lock.json b/src/backend/package-lock.json index fab059686b..f0a3461ade 100644 --- a/src/backend/package-lock.json +++ b/src/backend/package-lock.json @@ -5,7 +5,7 @@ "packages": { "": { "dependencies": { - "eslint": "^9.4.0", + "eslint": "^9.5.0", "eslint-config-google": "^0.14.0" } }, @@ -51,11 +51,11 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.15.1.tgz", - "integrity": "sha512-K4gzNq+yymn/EVsXYmf+SBcBro8MTf+aXJZUphM96CdzUEr+ClGDvAbpmaEK+cGVigVXIgs9gNmvHAlrzzY5JQ==", + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.16.0.tgz", + "integrity": "sha512-/jmuSd74i4Czf1XXn7wGRWZCuyaUZ330NH1Bek0Pplatt4Sy1S5haN21SCLLdbeKslQ+S0wEJ+++v5YibSi+Lg==", "dependencies": { - "@eslint/object-schema": "^2.1.3", + "@eslint/object-schema": "^2.1.4", "debug": "^4.3.1", "minimatch": "^3.0.5" }, @@ -86,17 +86,17 @@ } }, "node_modules/@eslint/js": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.4.0.tgz", - "integrity": "sha512-fdI7VJjP3Rvc70lC4xkFXHB0fiPeojiL1PxVG6t1ZvXQrarj893PweuBTujxDUFk0Fxj4R7PIIAZ/aiiyZPZcg==", + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.5.0.tgz", + "integrity": "sha512-A7+AOT2ICkodvtsWnxZP4Xxk3NbZ3VMHd8oihydLRGrJgqqdEz1qSeEgXYyT/Cu8h1TWWsQRejIx48mtjZ5y1w==", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@eslint/object-schema": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.3.tgz", - "integrity": "sha512-HAbhAYKfsAC2EkTqve00ibWIZlaU74Z1EHwAjYr4PXF0YU2VEA1zSIKSSpKszRLRWwHzzRZXvK632u+uXzvsvw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", + "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } @@ -322,15 +322,15 @@ } }, "node_modules/eslint": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.4.0.tgz", - "integrity": "sha512-sjc7Y8cUD1IlwYcTS9qPSvGjAC8Ne9LctpxKKu3x/1IC9bnOg98Zy6GxEJUfr1NojMgVPlyANXYns8oE2c1TAA==", + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.5.0.tgz", + "integrity": "sha512-+NAOZFrW/jFTS3dASCGBxX1pkFD0/fsO+hfAkJ4TyYKwgsXZbqzrw+seCYFCcPCYXvnD67tAnglU7GQTz6kcVw==", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", - "@eslint/config-array": "^0.15.1", + "@eslint/config-array": "^0.16.0", "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "9.4.0", + "@eslint/js": "9.5.0", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.3.0", "@nodelib/fs.walk": "^1.2.8", @@ -342,7 +342,7 @@ "eslint-scope": "^8.0.1", "eslint-visitor-keys": "^4.0.0", "espree": "^10.0.1", - "esquery": "^1.4.2", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", @@ -368,7 +368,7 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://eslint.org/donate" } }, "node_modules/eslint-config-google": { diff --git a/src/backend/package.json b/src/backend/package.json index b72a219be5..6a36da710d 100644 --- a/src/backend/package.json +++ b/src/backend/package.json @@ -1,6 +1,6 @@ { "dependencies": { - "eslint": "^9.4.0", + "eslint": "^9.5.0", "eslint-config-google": "^0.14.0" }, "type": "module" From 2c50620accd189b0ca2dabff3cf994ef0120145e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Jun 2024 23:42:05 +1000 Subject: [PATCH 26/59] Bump the dependencies group with 4 updates (#7462) Bumps the dependencies group with 4 updates: [actions/checkout](https://github.com/actions/checkout), [docker/build-push-action](https://github.com/docker/build-push-action), [codecov/codecov-action](https://github.com/codecov/codecov-action) and [github/codeql-action](https://github.com/github/codeql-action). Updates `actions/checkout` from 4.1.6 to 4.1.7 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/a5ac7e51b41094c92402da3b24376905380afc29...692973e3d937129bcbf40652eb9f2f61becf3332) Updates `docker/build-push-action` from 5.4.0 to 6.0.0 - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/ca052bb54ab0790a636c9b5f226502c73d547a25...c382f710d39a5bb4e430307530a720f50c2d3318) Updates `codecov/codecov-action` from 4.4.1 to 4.5.0 - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/125fc84a9a348dbcf27191600683ec096ec9021c...e28ff129e5465c2c0dcc6f003fc735cb6ae0c673) Updates `github/codeql-action` from 3.25.8 to 3.25.10 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/2e230e8fe0ad3a14a340ad0815ddb96d599d2aff...23acc5c183826b7a8a97bce3cecc52db901f8251) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-major dependency-group: dependencies - dependency-name: codecov/codecov-action dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dependencies - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/check_translations.yaml | 2 +- .github/workflows/docker.yaml | 6 ++-- .github/workflows/qc_checks.yaml | 34 +++++++++++------------ .github/workflows/release.yaml | 4 +-- .github/workflows/scorecard.yaml | 4 +-- .github/workflows/translations.yaml | 2 +- 6 files changed, 26 insertions(+), 26 deletions(-) diff --git a/.github/workflows/check_translations.yaml b/.github/workflows/check_translations.yaml index 8ace00f569..3377460f6e 100644 --- a/.github/workflows/check_translations.yaml +++ b/.github/workflows/check_translations.yaml @@ -30,7 +30,7 @@ jobs: steps: - name: Checkout Code - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # pin@v4.1.6 + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4.1.7 - name: Environment Setup uses: ./.github/actions/setup with: diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 800574ab30..7e177aa3d6 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -39,7 +39,7 @@ jobs: docker: ${{ steps.filter.outputs.docker }} steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # pin@v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4.1.7 - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # pin@v3.0.2 id: filter with: @@ -66,7 +66,7 @@ jobs: steps: - name: Check out repo - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # pin@v4.1.6 + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4.1.7 - name: Set Up Python ${{ env.python_version }} uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # pin@v5.1.0 with: @@ -165,7 +165,7 @@ jobs: - name: Push Docker Images id: push-docker if: github.event_name != 'pull_request' - uses: docker/build-push-action@ca052bb54ab0790a636c9b5f226502c73d547a25 # pin@v5.4.0 + uses: docker/build-push-action@c382f710d39a5bb4e430307530a720f50c2d3318 # pin@v6.0.0 with: context: . file: ./contrib/container/Dockerfile diff --git a/.github/workflows/qc_checks.yaml b/.github/workflows/qc_checks.yaml index e1ed0a7a0a..3ffba97dd6 100644 --- a/.github/workflows/qc_checks.yaml +++ b/.github/workflows/qc_checks.yaml @@ -40,7 +40,7 @@ jobs: force: ${{ steps.force.outputs.force }} steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # pin@v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4.1.7 - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # pin@v3.0.2 id: filter with: @@ -72,7 +72,7 @@ jobs: needs: ["pre-commit"] steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # pin@v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4.1.7 - name: Environment Setup uses: ./.github/actions/setup with: @@ -94,7 +94,7 @@ jobs: if: needs.paths-filter.outputs.server == 'true' || needs.paths-filter.outputs.frontend == 'true' || needs.paths-filter.outputs.force == 'true' steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # pin@v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4.1.7 - name: Set up Python ${{ env.python_version }} uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # pin@v5.1.0 with: @@ -115,7 +115,7 @@ jobs: steps: - name: Checkout Code - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # pin@v4.1.6 + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4.1.7 - name: Set up Python ${{ env.python_version }} uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # pin@v5.1.0 with: @@ -151,7 +151,7 @@ jobs: version: ${{ steps.version.outputs.version }} steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # pin@v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4.1.7 - name: Environment Setup uses: ./.github/actions/setup with: @@ -201,7 +201,7 @@ jobs: version: ${{ needs.schema.outputs.version }} steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 with: repository: inventree/schema token: ${{ secrets.SCHEMA_PAT }} @@ -238,7 +238,7 @@ jobs: INVENTREE_SITE_URL: http://127.0.0.1:12345 steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # pin@v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4.1.7 - name: Environment Setup uses: ./.github/actions/setup with: @@ -279,7 +279,7 @@ jobs: python_version: ${{ matrix.python_version }} steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # pin@v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4.1.7 - name: Environment Setup uses: ./.github/actions/setup with: @@ -295,7 +295,7 @@ jobs: - name: Coverage Tests run: invoke test --coverage - name: Upload coverage reports to Codecov - uses: codecov/codecov-action@125fc84a9a348dbcf27191600683ec096ec9021c # pin@v4.4.1 + uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # pin@v4.5.0 if: always() with: token: ${{ secrets.CODECOV_TOKEN }} @@ -333,7 +333,7 @@ jobs: - 6379:6379 steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # pin@v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4.1.7 - name: Environment Setup uses: ./.github/actions/setup with: @@ -377,7 +377,7 @@ jobs: - 3306:3306 steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # pin@v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4.1.7 - name: Environment Setup uses: ./.github/actions/setup with: @@ -416,7 +416,7 @@ jobs: - 5432:5432 steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # pin@v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4.1.7 - name: Environment Setup uses: ./.github/actions/setup with: @@ -427,7 +427,7 @@ jobs: - name: Run Tests run: invoke test --migrations --report --coverage - name: Upload coverage reports to Codecov - uses: codecov/codecov-action@125fc84a9a348dbcf27191600683ec096ec9021c # pin@v4.4.1 + uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # pin@v4.5.0 if: always() with: token: ${{ secrets.CODECOV_TOKEN }} @@ -447,7 +447,7 @@ jobs: INVENTREE_PLUGINS_ENABLED: false steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # pin@v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4.1.7 name: Checkout Code - name: Environment Setup uses: ./.github/actions/setup @@ -504,7 +504,7 @@ jobs: VITE_COVERAGE: true steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # pin@v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4.1.7 - name: Environment Setup uses: ./.github/actions/setup with: @@ -532,7 +532,7 @@ jobs: if: always() run: cd src/frontend && npx nyc report --report-dir ./coverage --temp-dir .nyc_output --reporter=lcov --exclude-after-remap false - name: Upload coverage reports to Codecov - uses: codecov/codecov-action@125fc84a9a348dbcf27191600683ec096ec9021c # pin@v4.4.1 + uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # pin@v4.5.0 if: always() with: token: ${{ secrets.CODECOV_TOKEN }} @@ -545,7 +545,7 @@ jobs: timeout-minutes: 60 steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # pin@v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4.1.7 - name: Environment Setup uses: ./.github/actions/setup with: diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index f93c99a1ec..2fce80d0dd 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -15,7 +15,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - name: Checkout Code - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # pin@v4.1.6 + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4.1.7 - name: Version Check run: | pip install --require-hashes -r contrib/dev_reqs/requirements.txt @@ -34,7 +34,7 @@ jobs: contents: write pull-requests: write steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # pin@v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4.1.7 - name: Environment Setup uses: ./.github/actions/setup with: diff --git a/.github/workflows/scorecard.yaml b/.github/workflows/scorecard.yaml index 7bc41fc73e..916a3b1bbe 100644 --- a/.github/workflows/scorecard.yaml +++ b/.github/workflows/scorecard.yaml @@ -32,7 +32,7 @@ jobs: steps: - name: "Checkout code" - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 with: persist-credentials: false @@ -67,6 +67,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@2e230e8fe0ad3a14a340ad0815ddb96d599d2aff # v3.25.8 + uses: github/codeql-action/upload-sarif@23acc5c183826b7a8a97bce3cecc52db901f8251 # v3.25.10 with: sarif_file: results.sarif diff --git a/.github/workflows/translations.yaml b/.github/workflows/translations.yaml index fc2968e479..6ffddb4d02 100644 --- a/.github/workflows/translations.yaml +++ b/.github/workflows/translations.yaml @@ -30,7 +30,7 @@ jobs: steps: - name: Checkout Code - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # pin@v4.1.6 + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4.1.7 - name: Environment Setup uses: ./.github/actions/setup with: From be7b7fac95e7fe84431059a7369fea3908f7c715 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 19 Jun 2024 00:07:01 +1000 Subject: [PATCH 27/59] New Crowdin updates (#7468) * updated translation base * Fix: New translations messages.po from Crowdin --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .../InvenTree/locale/bg/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/cs/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/da/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/de/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/el/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/en/LC_MESSAGES/django.po | 1050 ++++++++-------- .../InvenTree/locale/es/LC_MESSAGES/django.po | 1051 ++++++++-------- .../locale/es_MX/LC_MESSAGES/django.po | 1050 ++++++++-------- .../InvenTree/locale/fa/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/fi/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/fr/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/he/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/hi/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/hu/LC_MESSAGES/django.po | 1054 ++++++++--------- .../InvenTree/locale/id/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/it/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/ja/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/ko/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/lv/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/nl/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/no/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/pl/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/pt/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/ro/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/ru/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/sk/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/sl/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/sr/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/sv/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/th/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/tr/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/uk/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/vi/LC_MESSAGES/django.po | 1051 ++++++++-------- .../InvenTree/locale/zh/LC_MESSAGES/django.po | 1051 ++++++++-------- .../locale/zh_Hans/LC_MESSAGES/django.po | 1050 ++++++++-------- src/frontend/src/locales/bg/messages.po | 1 - src/frontend/src/locales/cs/messages.po | 1 - src/frontend/src/locales/da/messages.po | 1 - src/frontend/src/locales/de/messages.po | 1 - src/frontend/src/locales/el/messages.po | 1 - src/frontend/src/locales/es/messages.po | 1 - src/frontend/src/locales/fa/messages.po | 1 - src/frontend/src/locales/fi/messages.po | 1 - src/frontend/src/locales/fr/messages.po | 1 - src/frontend/src/locales/he/messages.po | 1 - src/frontend/src/locales/hi/messages.po | 1 - src/frontend/src/locales/hu/messages.po | 1 - src/frontend/src/locales/it/messages.po | 1 - src/frontend/src/locales/ja/messages.po | 1 - src/frontend/src/locales/ko/messages.po | 1 - src/frontend/src/locales/lv/messages.po | 1 - src/frontend/src/locales/nl/messages.po | 1 - src/frontend/src/locales/no/messages.po | 1 - src/frontend/src/locales/pl/messages.po | 1 - src/frontend/src/locales/pt/messages.po | 906 +++++++------- src/frontend/src/locales/ro/messages.po | 1 - src/frontend/src/locales/ru/messages.po | 1 - src/frontend/src/locales/sk/messages.po | 1 - src/frontend/src/locales/sl/messages.po | 1 - src/frontend/src/locales/sr/messages.po | 1 - src/frontend/src/locales/sv/messages.po | 1 - src/frontend/src/locales/th/messages.po | 1 - src/frontend/src/locales/tr/messages.po | 1 - src/frontend/src/locales/uk/messages.po | 1 - src/frontend/src/locales/vi/messages.po | 1 - 65 files changed, 18830 insertions(+), 18890 deletions(-) diff --git a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po index b2c3121cc6..d52a492186 100644 --- a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:03\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" @@ -52,17 +52,17 @@ msgstr "Зададено е недопустимо количество ({exc})" msgid "Error details can be found in the admin panel" msgstr "Подробности за грешката могат да се намерят в администраторския панел" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "Въведи дата" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "Потвърждение на електронната поща" msgid "You must type the same email each time." msgstr "Трябва ла въведете една и съща електронна поща." -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "Въведената основна електронна поща е невалидна." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "Въведеният домейн на електронната поща не е утвърден." -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "Регистрацията е деактивирана." -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "Въведена е недопустима стойност" @@ -171,35 +171,35 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "Премахнете HTML маркерите от тази стойност" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "Грешка при съединението" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "Сървърът отговари с невалиден статусен код" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "Възникна изключение" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "Сървърът отговори с невалидна стойност за дължината на съдържанието (Content-Length)" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "Размерът на изображението е твърде голям" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "Сваляното на изображение превиши максималния размер" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "Отдалеченият сървър върна празен отговор" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "" @@ -415,8 +415,8 @@ msgstr "" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "" @@ -446,8 +446,8 @@ msgstr "" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "" @@ -593,12 +593,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "" @@ -754,14 +754,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "" msgid "Part" msgstr "Част" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -2311,7 +2311,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" @@ -2343,7 +2343,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "" @@ -2351,7 +2351,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" @@ -2360,7 +2360,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "" @@ -4231,10 +4231,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Изпратено" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5775,12 +5775,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5789,20 +5789,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5827,11 +5827,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5844,12 +5844,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" @@ -5867,7 +5867,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "" @@ -5983,7 +5983,7 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -6010,371 +6010,371 @@ msgstr "Цялостна наличност" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "" @@ -7065,11 +7065,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8219,17 +8219,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8754,7 +8754,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Място в склада" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Места в склада" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9274,7 +9274,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" @@ -9806,28 +9806,28 @@ msgstr "" msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po index 999bdb01d1..6684575e87 100644 --- a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:03\n" "Last-Translator: \n" "Language-Team: Czech\n" @@ -52,17 +52,17 @@ msgstr "Vyplněno neplatné množství ({exc})" msgid "Error details can be found in the admin panel" msgstr "Podrobnosti o chybě lze nalézt v panelu administrace" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "Zadejte datum" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "Potvrzení emailové adresy" msgid "You must type the same email each time." msgstr "Pokaždé musíte zadat stejný email." -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "Zadaná primární e-mailová adresa je neplatná." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "Zadaná e-mailová doména není povolena." -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "Registrace vypnuta." -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "Vyplněno neplatné množství" @@ -171,35 +171,35 @@ msgstr "Počet jedinečných sériových čísel ({len(serials)}) musí odpovíd msgid "Remove HTML tags from this value" msgstr "Odstranit HTML tagy z této hodnoty" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "Chyba spojení" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "Server odpověděl s neplatným stavovým kódem" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "Došlo k výjimce" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "Server odpověděl s neplatnou hodnotou Content-Length" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "Velikost obrázku je příliš velká" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "Stahování obrázku překročilo maximální velikost" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "Vzdálený server vrátil prázdnou odpověď" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "Zadaná URL adresa není platný soubor obrázku" @@ -415,8 +415,8 @@ msgstr "Vyberte soubor k přiložení" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "Vyberte soubor k přiložení" msgid "Link" msgstr "Odkaz" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "Odkaz na externí URL" @@ -446,8 +446,8 @@ msgstr "Komentář k souboru" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "Neplatný výběr" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "Neplatný výběr" msgid "Name" msgstr "Název" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "Název" msgid "Description" msgstr "Popis" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "Popis (volitelně)" @@ -593,12 +593,12 @@ msgstr "Chyba serveru" msgid "An error has been logged by the server." msgstr "Server zaznamenal chybu." -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "Musí být platné číslo" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "Email backend není nakonfigurován" msgid "InvenTree system health checks failed" msgstr "Kontroly zdraví systému InvenTree selhaly" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "Neznámá databáze" @@ -754,14 +754,14 @@ msgstr "O InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Sestavení musí být zrušeno před odstraněním" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Spotřební materiál" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "Přiděleno" msgid "Available" msgstr "Dostupné" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "Dostupné" msgid "Build Order" msgstr "Vytvořit objednávku" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "Vytvořit objednávku" msgid "Build Orders" msgstr "Vytvořené objednávky" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "Neplatná volba nadřazeného sestavení" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "Musí být specifikován odpovědný uživatel nebo skupina" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "Díly obědnávky sestavení nemohou být změněny" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "Referenční číslo objednávky" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "Referenční číslo objednávky" msgid "Reference" msgstr "Reference" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "Stručný popis sestavení (nepovinné)" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Nadřazená sestava" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" msgid "Part" msgstr "Díl" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "Vyber téma, které chceš stavět" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "Referenční číslo prodejní objednávky" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "Prodejní příkaz, kterému je tato verze přidělena" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Umístění lokace" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Vyberte lokaci, ze které chcete provést inventuru pro sestavu. (nechte prázdné, chcete-li provést inventuru z libovolné lokace)" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "Cílová lokace" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "Vyberte lokaci, kde budou dokončené položky uloženy" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "Množství sestav" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "Počet skladových položek k sestavení" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "Dokončené položky" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "Počet skladových položek, které byly dokončeny" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "Stav sestavení" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "Stavový kód sestavení" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Kód dávky" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "Dávkový kód pro tento výstup sestavení" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Datum vytvoření" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "Cílové datum dokončení" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Cílové datum dokončení sestavení. Sestavení bude po tomto datu v prodlení." -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Datum dokončení" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "dokončil" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Vystavil" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "Uživatel, který vydal tento příkaz k sestavení" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "Uživatel, který vydal tento příkaz k sestavení" msgid "Responsible" msgstr "Odpovědný" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "Uživatel nebo skupina odpovědná za tento příkaz k sestavení" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Externí odkaz" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "Priorita sestavení" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "Priorita tohoto příkazu k sestavení" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "Priorita tohoto příkazu k sestavení" msgid "Project Code" msgstr "Kód projektu" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "Kód projektu pro objednávku sestavení" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "Nepodařilo se uvolnit úlohu pro dokončení přidělení sestavy" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Příkaz k sestavení {build} byl dokončen" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "Příkaz k sestavení byl dokončen" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "Nebyl specifikováno žádný výstup sestavení" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "Výstup sestavení je již dokončen" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "Výstup sestavení neodpovídá příkazu sestavení" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Množství musí být vyšší než nula" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 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:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Výstup sestavy {serial} neprošel všemi požadavky" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "Vytvořit položku řádku objednávky" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "Vytvořit objekt" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "Vytvořit objekt" msgid "Quantity" msgstr "Množství" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "Vyžadované množství pro objednávku" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Položka sestavení musí specifikovat výstup sestavení, protože hlavní díl je označen jako sledovatelný" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Zabrané množství ({q}) nesmí překročit dostupné skladové množství ({a})" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "Skladová položka je nadměrně zabrána" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "Zabrané množství musí být větší než nula" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "Množství musí být 1 pro zřetězený sklad" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "Vybraná položka zásob neodpovídá řádku BOM" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "Vybraná položka zásob neodpovídá řádku BOM" msgid "Stock Item" msgstr "Skladové položky" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "Zdrojová skladová položka" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "Skladové množství pro sestavení" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "Instalovat do" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "Cílová skladová položka" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "Umístění dokončených výstupů sestavy" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "Přiřazení volitelných BOM položek k objednávce sestavy" msgid "Failed to start auto-allocation task" msgstr "Nepodařilo se spustit úlohu automatického přidělování" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "BOM Položka" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Zásoby nebyly plně přiřazeny k této objednávce na sestavu" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "Dokončené výstupy" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "Zdroj zásob" msgid "Stock can be taken from any available location." msgstr "Zásoby lze odebírat z jakéhokoli dostupného umístění." -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Místo určení" @@ -1930,7 +1930,7 @@ msgstr "Duplicitní kód měny" msgid "No valid currency codes provided" msgstr "Nejsou uvedeny žádné platné kódy měn" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "Žádný plugin" @@ -2311,7 +2311,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Komponent" @@ -2343,7 +2343,7 @@ msgstr "Komponent" msgid "Parts can be used as sub-components by default" msgstr "Díly lze ve výchozím nastavení použít jako dílčí komponenty" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "Možné zakoupit" @@ -2351,7 +2351,7 @@ msgstr "Možné zakoupit" msgid "Parts are purchaseable by default" msgstr "Díly jsou zakoupitelné ve výchozím nastavení" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Prodejné" @@ -2360,7 +2360,7 @@ msgstr "Prodejné" msgid "Parts are salable by default" msgstr "Díly jsou prodejné ve výchozím nastavení" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "Sledovatelné" msgid "Parts are trackable by default" msgstr "Díly jsou sledovatelné ve výchozím nastavení" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "Kontaktní e-mailová adresa" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Základní díl" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "Hodnota parametru" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "" msgid "Note" msgstr "Poznámka" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "" @@ -4231,10 +4231,10 @@ msgstr "Stáhnout obrázek z URL" msgid "Delete image" msgstr "Smazat obrázek" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "Zákazník" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "Sklad dílu dodavatele" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Odesláno" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5775,12 +5775,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "ID dílu" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Název dílu" @@ -5789,20 +5789,20 @@ msgstr "Název dílu" msgid "Part Description" msgstr "Popis dílu" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5827,11 +5827,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5844,12 +5844,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" @@ -5867,7 +5867,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "IPN dílu" @@ -5983,7 +5983,7 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -6010,371 +6010,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Kategorie dílu" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Kategorie dílů" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "Výchozí umístění dílů v této kategorii" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Díly nesmějí být přímo zařazeny do strukturované kategorie, ale mohou být zařazeny jako podkategorie." -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "Výchozí klíčová slova pro díly v této kategorii" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "Název dílu" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "Kategorie dílu" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "Interní číslo dílu" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "ID dílu nebo název dílu" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "Jedinečná hodnota ID dílu" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "Hodnota IPN dílu" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "Vyberte nadřazený díl" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "" @@ -7065,11 +7065,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8219,17 +8219,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8754,7 +8754,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9274,7 +9274,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" @@ -9806,28 +9806,28 @@ msgstr "" msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "Oprávnění k úpravě položek" #: users/models.py:413 msgid "Permission to delete items" msgstr "Oprávnění k odstranění položek" - diff --git a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po index 5861e6dd4f..b7fcd19d60 100644 --- a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:03\n" "Last-Translator: \n" "Language-Team: Danish\n" @@ -52,17 +52,17 @@ msgstr "Ugyldigt antal angivet ({exc})" msgid "Error details can be found in the admin panel" msgstr "Fejloplysninger kan findes i admin panelet" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "Angiv dato" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "Bekræftelse af e-mailadresse" msgid "You must type the same email each time." msgstr "Du skal indtaste den samme e-mail hver gang." -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "Den indtastede email adresse er ikke gyldig." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "Det angivne e-mail domæne er ikke godkendt." -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "Registrering er deaktiveret." -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "Ugyldigt antal angivet" @@ -171,35 +171,35 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "Fjern HTML-tags fra denne værdi" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "Forbindelsesfejl" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "Serveren svarede med ugyldig statuskode" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "Der opstod en fejl" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "Serveren svarede med ugyldig Content-Length værdi" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "Billedstørrelsen er for stor" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "Billeddownload overskred maksimumstørrelsen" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "Fjernserver returnerede tomt svar" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "Angivet URL er ikke en gyldig billedfil" @@ -415,8 +415,8 @@ msgstr "Vælg fil, der skal vedhæftes" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "Vælg fil, der skal vedhæftes" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "Link til ekstern URL" @@ -446,8 +446,8 @@ msgstr "Fil kommentar" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "Ugyldigt valg" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "Ugyldigt valg" msgid "Name" msgstr "Navn" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "Navn" msgid "Description" msgstr "Beskrivelse" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "Beskrivelse (valgfri)" @@ -593,12 +593,12 @@ msgstr "Serverfejl" msgid "An error has been logged by the server." msgstr "En fejl blev logget af serveren." -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "Skal være et gyldigt tal" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "E-mail backend ej konfigureret" msgid "InvenTree system health checks failed" msgstr "Helbredstjek af InvenTree system mislykkedes" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "Ukendt database" @@ -754,14 +754,14 @@ msgstr "Om InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Produktion skal anulleres, før den kan slettes" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Forbrugsvare" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "Allokeret" msgid "Available" msgstr "Tilgængelig" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "Tilgængelig" msgid "Build Order" msgstr "Produktionsordre" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "Produktionsordre" msgid "Build Orders" msgstr "Produktionsordrer" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "Ugyldigt valg for overordnet produktion" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "Byggeordre enhed kan ikke ændres" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "Produktionsordre reference" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "Produktionsordre reference" msgid "Reference" msgstr "" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Overordnet produktion" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "Produktionsordre som er tildelt denne produktion" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "Produktionsordre som er tildelt denne produktion" msgid "Part" msgstr "Del" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "Vælg dele til produktion" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "Salgsordrereference" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "Salgsordre, som er tildelt denne produktion" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Kilde Lokation" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Vælg lokation for lager, som skal benyttes til denne produktion (lad feltet stå tomt for at benytte vilkårligt lager)" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "Destinations Placering" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "Vælg placering, hvor de færdige elementer vil blive gemt" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "Produktions antal" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "Antal lagervarer som skal produceres" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "Afsluttede elementer" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "Antal lagervarer som er færdiggjort" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "Produktions Status" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "Produktions statuskode" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batch Kode" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "Batch kode til dette produktions output" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Oprettelsesdato" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "Projekteret afslutningsdato" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Dato for afslutning" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "udført af" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Udstedt af" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "Bruger som udstedte denne byggeordre" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "Bruger som udstedte denne byggeordre" msgid "Responsible" msgstr "Ansvarlig" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "Bruger eller gruppe ansvarlig for denne byggeordre" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Ekstern link" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "Bygge Prioritet" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "Prioritet af denne byggeordre" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "Prioritet af denne byggeordre" msgid "Project Code" msgstr "" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Bygningsordre {build} er fuldført" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "En byggeordre er fuldført" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -2311,7 +2311,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" @@ -2343,7 +2343,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "" @@ -2351,7 +2351,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" @@ -2360,7 +2360,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "" @@ -4231,10 +4231,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Afsendt" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5775,12 +5775,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5789,20 +5789,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5827,11 +5827,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5844,12 +5844,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" @@ -5867,7 +5867,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "" @@ -5983,7 +5983,7 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -6010,371 +6010,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "" @@ -7065,11 +7065,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8219,17 +8219,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8754,7 +8754,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9274,7 +9274,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" @@ -9806,28 +9806,28 @@ msgstr "" msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po index 741548a2af..a70cb5a17e 100644 --- a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: German\n" @@ -52,17 +52,17 @@ msgstr "Ungültige Menge ({exc})" msgid "Error details can be found in the admin panel" msgstr "Fehlerdetails finden Sie im Admin-Panel" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "Datum eingeben" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "Bestätigung der E-Mail Adresse" msgid "You must type the same email each time." msgstr "E-Mail Adressen müssen übereinstimmen." -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "Die angegebene primäre E-Mail-Adresse ist ungültig." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "Die angegebene E-Mail-Domain ist nicht freigegeben." -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "Registrierung ist deaktiviert." -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "Keine gültige Menge" @@ -171,35 +171,35 @@ msgstr "Anzahl der eindeutigen Seriennummern ({len(serials)}) muss mit der Menge msgid "Remove HTML tags from this value" msgstr "Entferne HTML-Tags von diesem Wert" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "Verbindungsfehler" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "Server antwortete mit ungültigem Statuscode" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "Ausnahme aufgetreten" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "Server antwortete mit ungültigem Wert für die Inhaltslänge" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "Bild ist zu groß" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "Bilddownload überschreitet maximale Größe" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "Remote-Server gab leere Antwort zurück" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "Angegebene URL ist kein gültiges Bild" @@ -415,8 +415,8 @@ msgstr "Datei zum Anhängen auswählen" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "Datei zum Anhängen auswählen" msgid "Link" msgstr "Link" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "Link zu einer externen URL" @@ -446,8 +446,8 @@ msgstr "Datei-Kommentar" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "Ungültige Auswahl" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "Ungültige Auswahl" msgid "Name" msgstr "Name" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "Name" msgid "Description" msgstr "Beschreibung" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "Beschreibung (optional)" @@ -593,12 +593,12 @@ msgstr "Serverfehler" msgid "An error has been logged by the server." msgstr "Ein Fehler wurde vom Server protokolliert." -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "E-Mail-Backend nicht konfiguriert" msgid "InvenTree system health checks failed" msgstr "InvenTree Status-Überprüfung fehlgeschlagen" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "Unbekannte Datenbank" @@ -754,14 +754,14 @@ msgstr "Über InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Verbrauchsmaterial" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "Zugeordnet" msgid "Available" msgstr "Verfügbar" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "Verfügbar" msgid "Build Order" msgstr "Bauauftrag" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "Bauauftrag" msgid "Build Orders" msgstr "Bauaufträge" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "Ungültige Wahl für übergeordneten Bauauftrag" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "Verantwortlicher Benutzer oder Gruppe muss angegeben werden" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "Teil in Bauauftrag kann nicht geändert werden" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "Bauauftragsreferenz" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "Bauauftragsreferenz" msgid "Reference" msgstr "Referenz" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "Kurze Beschreibung des Baus (optional)" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Eltern-Bauauftrag" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" msgid "Part" msgstr "Teil" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "Teil für den Bauauftrag wählen" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "Auftrag Referenz" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "Bestellung, die diesem Bauauftrag zugewiesen ist" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Quell-Lagerort" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Entnahme-Lagerort für diesen Bauauftrag wählen (oder leer lassen für einen beliebigen Lagerort)" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "Ziel-Lagerort" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "Lagerort an dem fertige Objekte gelagert werden auswählen" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "Bau-Anzahl" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "Anzahl der zu bauenden Lagerartikel" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "Fertiggestellte Teile" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "Anzahl der fertigen Lagerartikel" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "Bauauftrags-Status" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "Bau-Statuscode" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Losnummer" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Erstelldatum" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "geplantes Fertigstellungsdatum" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Zieldatum für Bauauftrag-Fertigstellung." -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Fertigstellungsdatum" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "Fertiggestellt von" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Aufgegeben von" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "Nutzer der diesen Bauauftrag erstellt hat" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "Nutzer der diesen Bauauftrag erstellt hat" msgid "Responsible" msgstr "Verantwortlicher Benutzer" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "Benutzer oder Gruppe verantwortlich für diesen Bauauftrag" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Externer Link" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "Bauauftrags-Priorität" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "Priorität dieses Bauauftrags" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "Priorität dieses Bauauftrags" msgid "Project Code" msgstr "Projektcode" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "Projektcode für diesen Auftrag" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "Fehler beim Abladen der Aufgabe, um die Build-Allokation abzuschließen" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Bauauftrag {build} wurde fertiggestellt" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "Ein Bauauftrag wurde fertiggestellt" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "kein Endprodukt angegeben" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "Endprodukt bereits hergstellt" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "Menge kann nicht größer als die Ausgangsmenge sein" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Build Ausgabe {serial} hat nicht alle erforderlichen Tests bestanden" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "Objekt bauen" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "Objekt bauen" msgid "Quantity" msgstr "Anzahl" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "Erforderliche Menge für Auftrag" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Bauauftragsposition muss ein Endprodukt festlegen, da der übergeordnete Teil verfolgbar ist" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Zugewiesene Menge ({q}) darf nicht verfügbare Menge ({a}) übersteigen" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "BestandObjekt ist zu oft zugewiesen" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "Ausgewählter Lagerbestand stimmt nicht mit BOM-Linie überein" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "Ausgewählter Lagerbestand stimmt nicht mit BOM-Linie überein" msgid "Stock Item" msgstr "Lagerartikel" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "Quell-Lagerartikel" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "Anzahl an Lagerartikel dem Bauauftrag zuweisen" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "Installiere in" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "Ziel-Lagerartikel" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "Lagerort für fertige Endprodukte" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "Optionale Stücklisten-Positionen dem Bauauftrag hinzufügen" msgid "Failed to start auto-allocation task" msgstr "Fehler beim Starten der automatischen Zuweisung" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "Stücklisten-Position" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Bestand wurde Bauauftrag noch nicht vollständig zugewiesen" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "Fertiggestellte Endprodukte" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "Ausgangs-Lager" msgid "Stock can be taken from any available location." msgstr "Bestand kann jedem verfügbaren Lagerort entnommen werden." -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Ziel-Lager" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "Kein Plugin" @@ -2311,7 +2311,7 @@ msgstr "Kategorie-Parametervorlage kopieren" msgid "Copy category parameter templates when creating a part" msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "Vorlage" msgid "Parts are templates by default" msgstr "Teile sind standardmäßig Vorlagen" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "Baugruppe" msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Komponente" @@ -2343,7 +2343,7 @@ msgstr "Komponente" msgid "Parts can be used as sub-components by default" msgstr "Teile können standardmäßig in Baugruppen benutzt werden" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "Kaufbar" @@ -2351,7 +2351,7 @@ msgstr "Kaufbar" msgid "Parts are purchaseable by default" msgstr "Artikel sind grundsätzlich kaufbar" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Verkäuflich" @@ -2360,7 +2360,7 @@ msgstr "Verkäuflich" msgid "Parts are salable by default" msgstr "Artikel sind grundsätzlich verkaufbar" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "Nachverfolgbar" msgid "Parts are trackable by default" msgstr "Artikel sind grundsätzlich verfolgbar" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "Name für diesen Webhook" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "Gelesen" msgid "Was this news item read?" msgstr "Wurde diese Nachricht gelesen?" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "Schlüsselwort Parameter" msgid "Task keyword arguments" msgstr "Schlüsselwort Parameter für Aufgaben" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "Eine leere Domain ist nicht erlaubt." -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Ungültiger Domainname: {domain}" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "Kontakt-Email" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "Versandnotizen für interne Verwendung" msgid "Link to address information (external)" msgstr "Link zu Adressinformationen (extern)" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Basisteil" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "Parameterwert" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "Zuliefererbeschreibung des Teils" msgid "Note" msgstr "Notiz" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "Basiskosten" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "Packmenge" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Gesamtmenge, die in einer einzelnen Packung geliefert wird. Für Einzelstücke leer lassen." -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "Vielfache" @@ -4231,10 +4231,10 @@ msgstr "Bild von URL herunterladen" msgid "Delete image" msgstr "Bild löschen" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "Kunde" msgid "Uses default currency" msgstr "verwendet Standard-Währung" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "Adressen" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "Zulieferer-Bestand" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "Neuen Lagerartikel hinzufügen" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "Neuer Lagerartikel" @@ -4743,7 +4743,7 @@ msgstr "Maschinenkonfiguration" msgid "Config type" msgstr "Konfigurationstyp" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "Hat Preise" msgid "No matching purchase order found" msgstr "Keine passende Bestellung gefunden" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Bestellung" @@ -4783,8 +4783,8 @@ msgstr "Bestellung abgeschlossen" msgid "Order Pending" msgstr "Bestellung ausstehend" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "Bestellung ausstehend" msgid "Purchase Order" msgstr "Bestellung" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "Bestellung" msgid "Return Order" msgstr "Rücksendeauftrag" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "Gesamtpreis für diese Bestellung" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "Auftragswährung" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "Währung für diesen Auftrag (leer lassen, um Firmenstandard zu verwenden)" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "Kontakt stimmt nicht mit der ausgewählten Firma überein" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "Auftragsbeschreibung (optional)" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "Projektcode für diesen Auftrag auswählen" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "Link auf externe Seite" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Geplantes Lieferdatum für Auftrag." -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "Erstellt von" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "Nutzer oder Gruppe der/die für diesen Auftrag zuständig ist/sind" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "Ansprechpartner für diesen Auftrag" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "Firmenadresse für diesen Auftrag" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "Bestell-Referenz" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "Bestellungs-Status" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "Firma bei der die Teile bestellt werden" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "Zulieferer-Referenz" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "Zulieferer Bestellreferenz" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "Empfangen von" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "Aufgabedatum" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "Datum an dem die Bestellung aufgegeben wurde" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "Datum an dem der Auftrag fertigstellt wurde" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "Anzahl muss eine positive Zahl sein" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "Firma an die die Teile verkauft werden" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "Kundenreferenz" -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "Bestellreferenz" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Versanddatum" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "Versand von" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "Nur ein offener Auftrag kann als abgeschlossen markiert werden" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Auftrag kann nicht abgeschlossen werden, da unvollständige Sendungen vorhanden sind" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "Auftrag kann nicht abgeschlossen werden, da es unvollständige Positionen gibt" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "Anzahl" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "Position - Referenz" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "Position - Notizen" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Zieldatum für diesen Einzelposten (leer lassen, um das Zieldatum des Auftrags zu verwenden)" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "Positionsbeschreibung (optional)" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "Kontext" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "Zusätzlicher Kontext für diese Zeile" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "Stückpreis" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "Lieferantenteil muss mit Lieferant übereinstimmen" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "gelöscht" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "Zuliefererteil" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "Zuliefererteil" msgid "Received" msgstr "Empfangen" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "Preis" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "Preis pro Einheit" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "Wo möchte der Käufer diesen Artikel gelagert haben?" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "Ein virtuelles Teil kann nicht einem Auftrag zugeordnet werden" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "Nur verkaufbare Teile können einem Auftrag zugewiesen werden" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Verkaufspreis" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "Stückverkaufspreis" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Versendet" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "Versendete Menge" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "Versanddatum" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Lieferdatum" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "Versanddatum" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "Kontrolliert von" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "Benutzer, der diese Sendung kontrolliert hat" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Sendung" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "Sendungsnummer" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "Sendungsverfolgungsnummer" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "Informationen zur Sendungsverfolgung" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "Rechnungsnummer" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "Referenznummer für zugehörige Rechnung" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "Sendung wurde bereits versandt" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "Sendung hat keine zugewiesene Lagerartikel" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "Lagerartikel wurde nicht zugewiesen" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "Kann Lagerartikel keiner Zeile mit einem anderen Teil hinzufügen" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "Kann Lagerartikel keiner Zeile ohne Teil hinzufügen" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "Auftrag gehört nicht zu Sendung" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "Sendung gehört nicht zu Auftrag" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "Position" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "Sendungsnummer-Referenz" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "Position" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "Lagerartikel für Zuordnung auswählen" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "Rücksendungsreferenz" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "Firma von der die Artikel zurückgeschickt werden" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "Status der Rücksendung" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "Nur serialisierte Artikel können einer Rücksendung zugeordnet werden" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "Artikel zur Rücksendung auswählen" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "Empfangsdatum" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "Das Datum des Empfangs dieses Rücksendeartikels" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Ergebnis" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "Ergebnis für dieses Zeilenelement" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "Kosten für die Rückgabe oder Reparatur dieses Objektes" @@ -5775,12 +5775,12 @@ msgstr "Stückpreis für {part} auf {price} aktualisiert" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} Stückpreis auf {price} und Menge auf {qty} aktualisiert" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "Teil-ID" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Name des Teils" @@ -5789,20 +5789,20 @@ msgstr "Name des Teils" msgid "Part Description" msgstr "Beschreibung des Teils" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "IPN (Interne Produktnummer)" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Version" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Schlüsselwörter" @@ -5827,11 +5827,11 @@ msgstr "Standard-Standortnummer" msgid "Default Supplier ID" msgstr "Standard-Lieferantennummer" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variante von" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimaler Bestand" @@ -5844,12 +5844,12 @@ msgstr "Benutzt in" msgid "Building" msgstr "Im Bau" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "Minimale Kosten" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "Maximale Kosten" @@ -5867,7 +5867,7 @@ msgstr "Name des übergeordneten Teils" msgid "Category Path" msgstr "Pfad zur Kategorie" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "Stücklisten-Position ID" msgid "Parent IPN" msgstr "Übergeordnete IPN" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "Teil IPN" @@ -5983,7 +5983,7 @@ msgstr "Diese Option muss ausgewählt werden" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "Kategorie" msgid "Uses" msgstr "Verwendet" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Standard-Lagerort" @@ -6010,371 +6010,371 @@ msgstr "Gesamtbestand" msgid "Input quantity for price calculation" msgstr "Menge für die Preisberechnung" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Teil-Kategorie" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Teil-Kategorien" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "Standard-Lagerort für Teile dieser Kategorie" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "Strukturell" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Teile können nicht direkt einer strukturellen Kategorie zugeordnet werden, können aber untergeordneten Kategorien zugeordnet werden." -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "Standard Stichwörter" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "Standard-Stichworte für Teile dieser Kategorie" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Symbol" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "Symbol (optional)" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Sie können diese Teilekategorie nicht als strukturell festlegen, da ihr bereits Teile zugewiesen sind!" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "Ungültige Auswahl für übergeordnetes Teil" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Teil '{self}' kann in der Stückliste nicht für '{parent}' (rekursiv) verwendet werden" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Teil '{parent}' wird in der Stückliste für '{self}' (rekursiv) verwendet" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN muss mit Regex-Muster {pattern} übereinstimmen" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "Ein Lagerartikel mit dieser Seriennummer existiert bereits" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "Teil mit diesem Namen, IPN und Revision existiert bereits." -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "Strukturellen Teilekategorien können keine Teile zugewiesen werden!" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "Name des Teils" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "Ist eine Vorlage" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "Ist dieses Teil eine Vorlage?" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "Ist dieses Teil eine Variante eines anderen Teils?" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "Artikelbeschreibung (optional)" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "Interne Teilenummer" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Standard Zulieferer" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "Standard Zuliefererteil" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "Standard Ablaufzeit" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "Ablauf-Zeit (in Tagen) für Bestand dieses Teils" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "Minimal zulässiger Bestand" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "Maßeinheit für diesen Teil" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "Hat dieses Teil Tracking für einzelne Objekte?" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "Kann dieses Teil an Kunden verkauft werden?" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "Ist dieses Teil aktiv?" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "Ist dieses Teil virtuell, wie zum Beispiel eine Software oder Lizenz?" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "Prüfsumme der Stückliste gespeichert" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "Stückliste kontrolliert von" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "BOM Kontrolldatum" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "Erstellungs-Nutzer" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "Verantwortlicher Besitzer für dieses Teil" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "Letzte Inventur" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "Mehrere verkaufen" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "Währung für die Berechnung der Preise im Cache" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "Minimale Stücklisten Kosten" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "Minimale Kosten für Teile" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "Maximale Stücklisten Kosten" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "Maximale Kosten für Teile" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "Minimale Einkaufskosten" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "Minimale historische Kaufkosten" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "Maximale Einkaufskosten" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "Maximale historische Einkaufskosten" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "Minimaler interner Preis" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "Minimale Kosten basierend auf den internen Staffelpreisen" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "Maximaler interner Preis" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "Maximale Kosten basierend auf internen Preisstaffeln" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "Minimaler Lieferantenpreis" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "Mindestpreis für Teil von externen Lieferanten" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "Maximaler Lieferantenpreis" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "Maximaler Preis für Teil von externen Lieferanten" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "Minimale Variantenkosten" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "Berechnete minimale Kosten für Variantenteile" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "Maximale Variantenkosten" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "Berechnete maximale Kosten für Variantenteile" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "Mindestkosten überschreiben" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "Maximale Kosten überschreiben" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "Berechnete Mindestkosten" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "Berechnete Maximalkosten" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "Mindestverkaufspreis" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "Mindestverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "Maximaler Verkaufspreis" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "Maximalverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "Mindestverkaufskosten" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "Minimaler historischer Verkaufspreis" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "Maximale Verkaufskosten" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "Maximaler historischer Verkaufspreis" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "Teil für die Inventur" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "Stückzahl" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "Anzahl einzelner Bestandseinträge zum Zeitpunkt der Inventur" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" msgid "Date" msgstr "Datum" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "Datum der Inventur" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "Zusätzliche Notizen" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "Benutzer, der diese Inventur durchgeführt hat" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "Mindestbestandswert" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "Geschätzter Mindestwert des vorhandenen Bestands" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "Maximaler Bestandswert" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "Geschätzter Maximalwert des vorhandenen Bestands" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Bericht" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "Inventur-Berichtsdatei (intern generiert)" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Anzahl der Teile" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "Anzahl der Teile, die von der Inventur abgedeckt werden" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "Benutzer, der diesen Inventurbericht angefordert hat" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Ungültiger Vorlagenname - es muss mindestens ein alphanumerisches Zeichen enthalten sein" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "Auswahl muss einzigartig sein" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "Test-Vorlagen können nur für verfolgbare Teile angelegt werden" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "Testvorlage mit demselben Schlüssel existiert bereits für Teil" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "Test-Name" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "Namen für diesen Test eingeben" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "Testschlüssel" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "Vereinfachter Schlüssel zum Test" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "Test-Beschreibung" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Aktiviert" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "Ist dieser Test aktiviert?" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Benötigt" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "Erfordert Wert" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "Muss für diesen Test ein Wert für das Test-Ergebnis eingetragen werden?" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "Muss für diesen Test ein Anhang für das Test-Ergebnis hinzugefügt werden?" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "Auswahlmöglichkeiten" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "Checkbox-Parameter können keine Einheiten haben" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "Checkbox-Parameter können keine Auswahl haben" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "Physikalische Einheiten für diesen Parameter" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "Parameter-Beschreibung" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "Checkbox" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "Ist dieser Parameter eine Checkbox?" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "Gültige Optionen für diesen Parameter (durch Kommas getrennt)" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "Ungültige Auswahl für Parameterwert" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "Ausgangsteil" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "Wert" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Standard-Wert" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "Teilnummer oder Teilname" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "Eindeutige Teil-ID" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "IPN-Wert des Teils" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "Stufe" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "Stücklistenebene" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Diese Stücklisten-Position ist ein Verbrauchsartikel (sie wird nicht in Bauaufträgen verfolgt)" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Überschuss" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "überprüft" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "Diese Stücklistenposition wurde validiert" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "Wird vererbt" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Diese Stücklisten-Position wird in die Stücklisten von Teil-Varianten vererbt" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Varianten zulassen" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Bestand von Varianten kann für diese Stücklisten-Position verwendet werden" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "Stücklisten Ersatzteile" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "Übergeordnete Stücklisten Position" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "Ersatzteil" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "Teil-Beziehung kann nicht zwischen einem Teil und sich selbst erstellt werden" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "Doppelte Beziehung existiert bereits" @@ -6737,7 +6737,7 @@ msgstr "Ergebnisse" msgid "Number of results recorded against this template" msgstr "Anzahl der Ergebnisse, die in dieser Vorlage aufgezeichnet wurden" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "Kaufwährung dieses Lagerartikels" @@ -7065,11 +7065,11 @@ msgstr "Inventurbericht verfügbar" msgid "A new stocktake report is available for download" msgstr "Ein neuer Inventurbericht steht zum Download zur Verfügung" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "Benachrichtigungen über geringen Bestand" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Der verfügbare Bestand für {part.name} ist unter das konfigurierte Mindestniveau gefallen" @@ -8219,17 +8219,17 @@ msgstr "Methode" msgid "No author found" msgstr "Kein Autor gefunden" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "Plugin '{p}' ist nicht kompatibel mit der aktuellen InvenTree Version {v}" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "Plugin benötigt mindestens Version {v}" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Plugin benötigt maximal Version {v}" @@ -8397,19 +8397,19 @@ msgstr "Fehler beim Drucken des Labels" msgid "Template file '{template}' is missing or does not exist" msgstr "Vorlagendatei '{template}' fehlt oder existiert nicht" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "A4" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "A3" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "US-Legal" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "US-Letter" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "Summe" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "Lieferant" msgid "Customer ID" msgstr "Kunden ID" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "verbaut in" @@ -8754,7 +8754,7 @@ msgstr "Überprüfung erforderlich" msgid "Delete on Deplete" msgstr "Löschen wenn leer" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "Das Zulieferteil hat eine Packungsgröße definiert, aber das Kennzeiche msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "Lagerstandort Typ" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "Lagerstandorte Typen" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "Standardsymbol für alle Orte, die kein Icon gesetzt haben (optional)" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Bestand-Lagerort" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Bestand-Lagerorte" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Besitzer" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "Besitzer auswählen" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Lagerartikel können nicht direkt an einen strukturellen Lagerort verlegt werden, können aber an einen untergeordneten Lagerort verlegt werden." -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "Extern" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "Dies ist ein externer Lagerort" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "Standorttyp" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "Standortart dieses Standortes" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "Sie können diesen Lagerort nicht als strukturell markieren, da sich bereits Lagerartikel darin befinden!" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "Lagerartikel können nicht in strukturelle Lagerorte abgelegt werden!" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "Für virtuelle Teile können keine Lagerartikel erstellt werden" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "Artikeltyp ('{self.supplier_part.part}') muss {self.part} sein" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "Anzahl muss für Objekte mit Seriennummer 1 sein" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Seriennummer kann nicht gesetzt werden wenn die Anzahl größer als 1 ist" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "Teil kann nicht zu sich selbst gehören" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "Teil muss eine Referenz haben wenn is_building wahr ist" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "Referenz verweist nicht auf das gleiche Teil" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "Eltern-Lagerartikel" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "Basis-Teil" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "Passendes Zuliefererteil für diesen Lagerartikel auswählen" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "Verpackung, in der dieser Lagerartikel gelagert ist" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "Ist dieses Teil in einem anderen verbaut?" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "Seriennummer für dieses Teil" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "Losnummer für diesen Lagerartikel" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "Bestand" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "Quellbau" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "Bauauftrag für diesen Lagerartikel" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "Verbraucht von" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "Bauauftrag der diesen Lagerartikel verbrauchte" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "Quelle Bestellung" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "Bestellung für diesen Lagerartikel" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "Ziel-Auftrag" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Ablaufdatum für Lagerartikel. Bestand wird danach als abgelaufen gekennzeichnet" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "Löschen wenn leer" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "Diesen Lagerartikel löschen wenn der Bestand aufgebraucht ist" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "Preis für eine Einheit bei Einkauf" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "In Teil umgewandelt" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "Teil ist nicht verfolgbar" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "Anzahl muss eine Ganzzahl sein" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "Menge darf die verfügbare Lagermenge ({self.quantity}) nicht überschreiten" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "Seriennummern muss eine Liste von Ganzzahlen sein" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "Anzahl stimmt nicht mit den Seriennummern überein" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "Seriennummern existieren bereits" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "Testvorlage existiert nicht" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "Artikel wurde einem Kundenauftrag zugewiesen" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "Lagerartikel ist in anderem Element verbaut" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "Lagerartikel enthält andere Artikel" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "Artikel wurde einem Kunden zugewiesen" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "Lagerartikel wird aktuell produziert" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "Artikel duplizeren" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "Lagerartikel müssen auf dasselbe Teil verweisen" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "Lagerartikel müssen auf dasselbe Lieferantenteil verweisen" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "Status-Codes müssen zusammenpassen" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "Lagerartikel kann nicht bewegt werden, da kein Bestand vorhanden ist" @@ -9178,11 +9178,11 @@ msgstr "Die Test-Endzeit kann nicht früher als die Startzeit des Tests sein" msgid "Serial number is too large" msgstr "Seriennummer ist zu lang" -#: stock/serializers.py:414 +#: stock/serializers.py:439 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:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "Einkaufspreis dieses Lagerartikels, pro Einheit oder Verpackungseinheit" @@ -9274,7 +9274,7 @@ msgstr "Keine Lagerartikel ausgewählt" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Unter-Lagerorte" @@ -9806,28 +9806,28 @@ msgstr "Sie sind nicht auf der Liste der Besitzer dieses Lagerorts. Der Bestands msgid "Location Type" msgstr "Lagerort Typ" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "Neuen Lagerort anlegen" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "Neuer Lagerort" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "Lagerort" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "Lagerbehälter an diesen Ort eingescannt" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "Lagerort QR-Code" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "Barcode mit Lagerort verknüpfen" @@ -14390,4 +14390,3 @@ msgstr "Berechtigungen Einträge zu ändern" #: users/models.py:413 msgid "Permission to delete items" msgstr "Berechtigung Einträge zu löschen" - diff --git a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po index 1f11af3521..1c417ab81c 100644 --- a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Greek\n" @@ -52,17 +52,17 @@ msgstr "Δόθηκε μη έγκυρη ποσότητα ({exc})" msgid "Error details can be found in the admin panel" msgstr "Μπορείτε να βρείτε λεπτομέρειες σφάλματος στον πίνακα διαχείρισης" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "Εισάγετε ημερομηνία" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "Επιβεβαίωση διεύθυνσης email" msgid "You must type the same email each time." msgstr "Πρέπει να πληκτρολογήσετε το ίδιο email κάθε φορά." -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "Η παρεχόμενη κύρια διεύθυνση ηλεκτρονικού ταχυδρομείου δεν είναι έγκυρη." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "Ο παρεχόμενος τομέας ηλεκτρονικού ταχυδρομείου δεν έχει εγκριθεί." -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "Η εγγραφή είναι απενεργοποιημένη." -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "Μη έγκυρη ποσότητα" @@ -171,35 +171,35 @@ msgstr "Ο αριθμός μοναδικών σειριακών αριθμών ( msgid "Remove HTML tags from this value" msgstr "Αφαιρέστε τα HTML tags από την τιμή που εισάγατε" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "Σφάλμα σύνδεσης" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "Ο διακομιστής απάντησε με μη έγκυρο κωδικό κατάστασης" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "Προέκυψε σφάλμα" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "Ο διακομιστής ανταποκρίθηκε με \"Invalid Content-Length value\"" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "Η εικόνα είναι πολύ μεγάλη σε μέγεθος" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "Η λήψη εικόνας ξεπέρασε το μέγιστο μέγεθος" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "Ο διακομιστής επέστρεψε σφάλμα %1$d %2$s" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "Το URL δεν είναι έγκυρο αρχείο εικόνας" @@ -415,8 +415,8 @@ msgstr "Επιλέξτε αρχείο για επισύναψη" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "Επιλέξτε αρχείο για επισύναψη" msgid "Link" msgstr "Σύνδεσμος" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "Σύνδεσμος προς εξωτερική διεύθυνση URL" @@ -446,8 +446,8 @@ msgstr "Σχόλιο αρχείου" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "Μη έγκυρη επιλογή" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "Μη έγκυρη επιλογή" msgid "Name" msgstr "Όνομα" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "Όνομα" msgid "Description" msgstr "Περιγραφή" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "Περιγραφή (προαιρετική)" @@ -593,12 +593,12 @@ msgstr "Σφάλμα διακομιστή" msgid "An error has been logged by the server." msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή." -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "Πρέπει να είναι αριθμός" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "Δεν έχει ρυθμιστεί διεύθυνση ηλεκτρονι msgid "InvenTree system health checks failed" msgstr "Ο έλεγχος συστήματος για το Inventree απέτυχε" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "Άγνωστη βάση δεδομένων" @@ -754,14 +754,14 @@ msgstr "Σχετικά με το InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγραφεί" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Αναλώσιμο" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "Κατανεμημένο" msgid "Available" msgstr "Διαθέσιμο" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "Διαθέσιμο" msgid "Build Order" msgstr "Σειρά Κατασκευής" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "Σειρά Κατασκευής" msgid "Build Orders" msgstr "Δημιουργία Παραγγελιών" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "Μη έγκυρη επιλογή για γονική κατασκευή" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "Εξάρτημα από εντολή κατασκευής δεν μπορεί να αλλάξει" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "Αναφορά Παραγγελίας Κατασκευής" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "Αναφορά Παραγγελίας Κατασκευής" msgid "Reference" msgstr "Αναφορά" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "Σύντομη περιγραφή της κατασκευής (προαιρετικό)" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Γονική Κατασκευή" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατασκευή" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα msgid "Part" msgstr "Εξάρτημα" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "Επιλέξτε τμήμα για κατασκευή" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "Κωδικός Παραγγελίας Πωλήσεων" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "SalesOrder στην οποία έχει διατεθεί αυτό το build" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Τοποθεσία Προέλευσης" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Επιλέξτε τοποθεσία από την οποία θα γίνει απόθεμα, για αυτή την κατασκευή (αφήστε κενό για να πάρετε από οποιαδήποτε θέση αποθήκευσης)" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "Τοποθεσία Προορισμού" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "Επιλέξτε την τοποθεσία όπου θα αποθηκευτούν τα ολοκληρωμένα στοιχεία" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "Ποσότητα Κατασκευής" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "Αριθμός αντικειμένων για κατασκευή" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "Ολοκληρωμένα αντικείμενα" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "Αριθμός αντικειμένων αποθέματος που έχουν ολοκληρωθεί" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "Κατάσταση Κατασκευής" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "Κωδικός κατάστασης κατασκευής" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Κωδικός Παρτίδας" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "Κωδικός παρτίδας για αυτήν την κατασκευή" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Ημερομηνία Δημιουργίας" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "Ημερομηνία ολοκλήρωσης στόχου" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Ημερομηνία ολοκλήρωσης της κατασκευής. Η κατασκευή θα καθυστερήσει μετά από αυτή την ημερομηνία." -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Ημερομηνία ολοκλήρωσης" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "ολοκληρώθηκε από" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Εκδόθηκε από" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελία κατασκευής" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελ msgid "Responsible" msgstr "Υπεύθυνος" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "Χρήστης ή ομάδα υπεύθυνη για αυτή την εντολή κατασκευής" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Εξωτερικοί σύνδεσμοι" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "Προτεραιότητα Κατασκευής" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "Προτεραιότητα αυτής της εντολής κατασκευής" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "Προτεραιότητα αυτής της εντολής κατασκ msgid "Project Code" msgstr "Κωδικός Έργου" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "Κωδικός έργου για αυτήν την εντολή κατασκευής" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Η παραγγελία κατασκευής {build} έχει ολοκληρωθεί" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "Δεν καθορίστηκε έξοδος κατασκευής" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "Η ποσότητα δεν μπορεί να είναι μεγαλύτερη από την παραγόμενη ποσότητα" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Το προϊόν κατασκευής {serial} δεν έχει περάσει όλες τις απαιτούμενες δοκιμές" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "Αντικείμενο κατασκευής" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "Αντικείμενο κατασκευής" msgid "Quantity" msgstr "Ποσότητα" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "Απαιτούμενη ποσότητα για την εντολή κατασκευής" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Το στοιχείο κατασκευής πρέπει να ορίζει μια έξοδο κατασκευής, καθώς το κύριο τμήμα επισημαίνεται ως ανιχνεύσιμο" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα αποθέματος ({a})" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "Η ποσότητα πρέπει να είναι 1 για σειριακό απόθεμα" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "Το επιλεγμένο στοιχείο αποθέματος δεν ταιριάζει με τη γραμμή ΤΥ" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "Το επιλεγμένο στοιχείο αποθέματος δεν msgid "Stock Item" msgstr "Στοιχείο Αποθέματος" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "Στοιχείο πηγαίου αποθέματος" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "Ποσότητα αποθέματος για διάθεση για κατασκευή" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "Εγκατάσταση σε" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "Αποθήκη προορισμού" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "Τοποθεσία για ολοκληρωμένα προϊόντα κατασκευής" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Το Απόθεμα δεν έχει κατανεμηθεί πλήρως σε αυτή την Εντολή Κατασκευής" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "Ολοκληρωμένα Προϊόντα" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "Προέλευση Αποθέματος" msgid "Stock can be taken from any available location." msgstr "Το απόθεμα μπορεί να ληφθεί από οποιαδήποτε διαθέσιμη τοποθεσία." -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Προορισμός" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -2311,7 +2311,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" @@ -2343,7 +2343,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "" @@ -2351,7 +2351,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" @@ -2360,7 +2360,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "" @@ -4231,10 +4231,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Αποστάλθηκε" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5775,12 +5775,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5789,20 +5789,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5827,11 +5827,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5844,12 +5844,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" @@ -5867,7 +5867,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "" @@ -5983,7 +5983,7 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -6010,371 +6010,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "" @@ -7065,11 +7065,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8219,17 +8219,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8754,7 +8754,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9274,7 +9274,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" @@ -9806,28 +9806,28 @@ msgstr "" msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po index a6fd5f31f2..5320d1b1e5 100644 --- a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 14:05+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -53,17 +53,17 @@ msgstr "" msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -121,19 +121,19 @@ msgstr "" msgid "You must type the same email each time." msgstr "" -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "" @@ -172,35 +172,35 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "" @@ -416,8 +416,8 @@ msgstr "" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -431,8 +431,8 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "" @@ -447,8 +447,8 @@ msgstr "" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -494,8 +494,8 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -512,19 +512,19 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -549,7 +549,7 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "" @@ -594,12 +594,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -703,7 +703,7 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "" @@ -755,14 +755,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -797,7 +797,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -806,7 +806,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -817,25 +817,25 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -849,27 +849,27 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -880,7 +880,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -913,107 +913,107 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1024,32 +1024,32 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1059,65 +1059,65 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1159,37 +1159,37 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1206,19 +1206,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "" @@ -1330,8 +1330,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1501,7 +1501,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1678,8 +1678,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1716,8 +1716,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1767,7 +1767,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1931,7 +1931,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -2312,7 +2312,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2324,7 +2324,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2335,7 +2335,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" @@ -2344,7 +2344,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "" @@ -2352,7 +2352,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" @@ -2361,7 +2361,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2372,7 +2372,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3443,7 +3443,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3467,7 +3467,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3572,7 +3572,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3712,19 +3712,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3818,7 +3818,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3958,8 +3958,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4030,7 +4030,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4054,7 +4054,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4094,7 +4094,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4104,16 +4104,16 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4138,7 +4138,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "" @@ -4232,10 +4232,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4250,7 +4250,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4497,7 +4497,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4559,12 +4559,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4744,7 +4744,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4769,9 +4769,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4784,8 +4784,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4798,8 +4798,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4807,186 +4807,186 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4996,192 +4996,192 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5776,12 +5776,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5790,20 +5790,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5828,11 +5828,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5845,12 +5845,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" @@ -5868,7 +5868,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5892,7 +5892,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "" @@ -5984,7 +5984,7 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5997,7 +5997,7 @@ msgstr "" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -6011,371 +6011,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6387,340 +6387,340 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6738,7 +6738,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "" @@ -7066,11 +7066,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8220,17 +8220,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8398,19 +8398,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8611,7 +8611,7 @@ msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8730,7 +8730,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8755,7 +8755,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8818,252 +8818,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9179,11 +9179,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9275,7 +9275,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" @@ -9807,28 +9807,28 @@ msgstr "" msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" diff --git a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po index b08c3feea7..d351a92c2b 100644 --- a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:05\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" @@ -52,17 +52,17 @@ msgstr "La cantidad suministrada es inválida ({exc})" msgid "Error details can be found in the admin panel" msgstr "Detalles del error pueden encontrarse en el panel de administración" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "Ingrese la fecha" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "Confirmación de correo electrónico" msgid "You must type the same email each time." msgstr "El correo electrónico debe coincidir." -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "La dirección de correo electrónico principal proporcionada no es válida." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "El dominio de correo electrónico proporcionado no está aprobado." -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "El registro ha sido desactivado." -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "Cantidad proporcionada no válida" @@ -171,35 +171,35 @@ msgstr "Los números de serie únicos ({len(serials)}) deben coincidir con la ca msgid "Remove HTML tags from this value" msgstr "Elimine etiquetas HTML de este valor" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "Error de conexión" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "El servidor respondió con un código de estado no válido" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "Se ha producido una excepción" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "El servidor respondió con un valor de longitud de contenido inválido" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "El tamaño de la imagen es demasiado grande" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "La imagen descargada exedió el tamaño máximo" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "El servidor remoto devolvió una respuesta vacía" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "La URL proporcionada no es un archivo de imagen válido" @@ -415,8 +415,8 @@ msgstr "" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "" @@ -446,8 +446,8 @@ msgstr "" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "Selección no válida" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "Selección no válida" msgid "Name" msgstr "Nombre" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "Nombre" msgid "Description" msgstr "Descripción" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "Descripción (opcional)" @@ -593,12 +593,12 @@ msgstr "Error de servidor" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "" @@ -754,14 +754,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -2311,7 +2311,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" @@ -2343,7 +2343,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "" @@ -2351,7 +2351,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" @@ -2360,7 +2360,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "" @@ -4231,10 +4231,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5775,12 +5775,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5789,20 +5789,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5827,11 +5827,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5844,12 +5844,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" @@ -5867,7 +5867,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "" @@ -5983,7 +5983,7 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -6010,371 +6010,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "" @@ -7065,11 +7065,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8219,17 +8219,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8754,7 +8754,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9274,7 +9274,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" @@ -9806,28 +9806,28 @@ msgstr "" msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po index a6fd5f31f2..5320d1b1e5 100644 --- a/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 14:05+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -53,17 +53,17 @@ msgstr "" msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -121,19 +121,19 @@ msgstr "" msgid "You must type the same email each time." msgstr "" -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "" @@ -172,35 +172,35 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "" @@ -416,8 +416,8 @@ msgstr "" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -431,8 +431,8 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "" @@ -447,8 +447,8 @@ msgstr "" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -494,8 +494,8 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -512,19 +512,19 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -549,7 +549,7 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "" @@ -594,12 +594,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -703,7 +703,7 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "" @@ -755,14 +755,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -797,7 +797,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -806,7 +806,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -817,25 +817,25 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -849,27 +849,27 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -880,7 +880,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -913,107 +913,107 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1024,32 +1024,32 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1059,65 +1059,65 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1159,37 +1159,37 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1206,19 +1206,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "" @@ -1330,8 +1330,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1501,7 +1501,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1678,8 +1678,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1716,8 +1716,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1767,7 +1767,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1931,7 +1931,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -2312,7 +2312,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2324,7 +2324,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2335,7 +2335,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" @@ -2344,7 +2344,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "" @@ -2352,7 +2352,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" @@ -2361,7 +2361,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2372,7 +2372,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3443,7 +3443,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3467,7 +3467,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3572,7 +3572,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3712,19 +3712,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3818,7 +3818,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3958,8 +3958,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4030,7 +4030,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4054,7 +4054,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4094,7 +4094,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4104,16 +4104,16 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4138,7 +4138,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "" @@ -4232,10 +4232,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4250,7 +4250,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4497,7 +4497,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4559,12 +4559,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4744,7 +4744,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4769,9 +4769,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4784,8 +4784,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4798,8 +4798,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4807,186 +4807,186 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4996,192 +4996,192 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5776,12 +5776,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5790,20 +5790,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5828,11 +5828,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5845,12 +5845,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" @@ -5868,7 +5868,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5892,7 +5892,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "" @@ -5984,7 +5984,7 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5997,7 +5997,7 @@ msgstr "" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -6011,371 +6011,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6387,340 +6387,340 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6738,7 +6738,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "" @@ -7066,11 +7066,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8220,17 +8220,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8398,19 +8398,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8611,7 +8611,7 @@ msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8730,7 +8730,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8755,7 +8755,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8818,252 +8818,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9179,11 +9179,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9275,7 +9275,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" @@ -9807,28 +9807,28 @@ msgstr "" msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" diff --git a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po index f33b735c76..5d3f7702fb 100644 --- a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:05\n" "Last-Translator: \n" "Language-Team: Persian\n" @@ -52,17 +52,17 @@ msgstr "" msgid "Error details can be found in the admin panel" msgstr "جزئیات خطا را می توان در پنل مدیریت پیدا کرد" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "تاریخ را وارد کنید" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "تایید آدرس ایمیل" msgid "You must type the same email each time." msgstr "هر بار باید همان ایمیل را تایپ کنید." -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "آدرس ایمیل اصلی ارائه شده معتبر نیست." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "دامنه ایمیل ارائه شده تایید نشده است." -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "" @@ -171,35 +171,35 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "خطا در اتصال" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "سرور با کد وضعیت نامعتبر پاسخ داد" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "یک استثنا رخ داده است" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "سرور با مقدار طول محتوا نامعتبر پاسخ داد" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "اندازه عکس بسیار بزرگ است" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "" @@ -415,8 +415,8 @@ msgstr "" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "" @@ -446,8 +446,8 @@ msgstr "" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "" @@ -593,12 +593,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "" @@ -754,14 +754,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "مرجع سفارش فروش" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "منبع محل" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "مقصد" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -2311,7 +2311,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" @@ -2343,7 +2343,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "" @@ -2351,7 +2351,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" @@ -2360,7 +2360,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "" @@ -4231,10 +4231,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5775,12 +5775,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5789,20 +5789,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5827,11 +5827,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5844,12 +5844,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" @@ -5867,7 +5867,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "" @@ -5983,7 +5983,7 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -6010,371 +6010,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "" @@ -7065,11 +7065,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8219,17 +8219,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8754,7 +8754,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9274,7 +9274,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" @@ -9806,28 +9806,28 @@ msgstr "" msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po index bfa729e6d3..ca67c929d4 100644 --- a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Finnish\n" @@ -52,17 +52,17 @@ msgstr "" msgid "Error details can be found in the admin panel" msgstr "Virheen tiedot löytyvät hallintapaneelista" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "Anna päivämäärä" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "Sähköpostiosoitteen vahvistus" msgid "You must type the same email each time." msgstr "Sinun täytyy kirjoittaa sama sähköposti joka kerta." -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "Annettu ensisijainen sähköpostiosoite ei kelpaa." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "Annetun sähköpostiosoitteen verkkotunnusta ei hyväksytä." -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "Annettu määrä on virheellinen" @@ -171,35 +171,35 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "Yhteysvirhe" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "Palvelin vastasi virheellisellä tilakoodilla" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "Kuva on liian iso" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "Kuvan lataus ylitti enimmäiskoon" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "Etäpalvelin palautti tyhjän vastauksen" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "Annettu URL ei ole kelvollinen kuvatiedosto" @@ -415,8 +415,8 @@ msgstr "Valitse liitettävä tiedosto" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "Valitse liitettävä tiedosto" msgid "Link" msgstr "Linkki" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "Linkki ulkoiseen URLiin" @@ -446,8 +446,8 @@ msgstr "Tiedoston kommentti" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "Virheellinen valinta" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "Virheellinen valinta" msgid "Name" msgstr "Nimi" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "Nimi" msgid "Description" msgstr "Kuvaus" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "Kuvaus (valinnainen)" @@ -593,12 +593,12 @@ msgstr "Palvelinvirhe" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "Täytyy olla kelvollinen luku" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "InvenTree järjestelmän terveystarkastukset epäonnistui" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "" @@ -754,14 +754,14 @@ msgstr "Tietoja InvenTree:stä" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "" msgid "Available" msgstr "Saatavilla" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "Saatavilla" msgid "Build Order" msgstr "" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "" msgid "Part" msgstr "Osa" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Ulkoinen linkki" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "" msgid "Quantity" msgstr "Määrä" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "" msgid "Stock Item" msgstr "Varastotuote" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -2311,7 +2311,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Komponentti" @@ -2343,7 +2343,7 @@ msgstr "Komponentti" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "Ostettavissa" @@ -2351,7 +2351,7 @@ msgstr "Ostettavissa" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" @@ -2360,7 +2360,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "Seurattavissa" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "Verkkotunnus ei saa olla tyhjä." -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Virheellinen verkkotunnus: {domain}" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "" msgid "Note" msgstr "Muistiinpano" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "" @@ -4231,10 +4231,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "Asiakas" msgid "Uses default currency" msgstr "Käyttää oletusvaluuttaa" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "Tilauksen valuutta" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "Tilauksen viite" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "Asiakkaan viite " -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "" msgid "Received" msgstr "Vastaanotettu" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Lähetetty" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "Seurantakoodi" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "Laskunumero" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5775,12 +5775,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5789,20 +5789,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Avainsanat" @@ -5827,11 +5827,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5844,12 +5844,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" @@ -5867,7 +5867,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "" @@ -5983,7 +5983,7 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "Kategoria" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -6010,371 +6010,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "Oletus avainsanat" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Kuvake" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "Kuvake (valinnainen)" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "" msgid "Date" msgstr "Päivämäärä" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "Muut merkinnät" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Raportti" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Käytössä" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "" @@ -7065,11 +7065,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8219,17 +8219,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8754,7 +8754,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9274,7 +9274,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" @@ -9806,28 +9806,28 @@ msgstr "" msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "Uusi sijainti" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "Oikeus muokata kohteita" #: users/models.py:413 msgid "Permission to delete items" msgstr "Oikeus poistaa kohteita" - diff --git a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po index f31443fa27..de91dabe3f 100644 --- a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:03\n" "Last-Translator: \n" "Language-Team: French\n" @@ -52,17 +52,17 @@ msgstr "Quantité fournie invalide ({exc})" msgid "Error details can be found in the admin panel" msgstr "Les détails de l'erreur peuvent être trouvées dans le panneau d'administration" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "Entrer la date" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "Confirmation de l'adresse email" msgid "You must type the same email each time." msgstr "Vous devez taper le même e-mail à chaque fois." -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "L'adresse e-mail principale fournie n'est pas valide." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "Le domaine e-mail fourni n'est pas approuvé." -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "L'enregistrement est désactivé." -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "Quantité fournie invalide" @@ -171,35 +171,35 @@ msgstr "Le nombre de numéros de série uniques ({len(serials)}) doit correspond msgid "Remove HTML tags from this value" msgstr "Retirer les balises HTML de cette valeur" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "Erreur de connexion" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "Le serveur a répondu avec un code de statut invalide" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "Une erreur est survenue" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "Le serveur a répondu avec une valeur de longueur de contenu invalide" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "Image trop volumineuse" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "La taille de l'image dépasse la taille maximale autorisée" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "Le serveur distant a renvoyé une réponse vide" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "L'URL fournie n'est pas un fichier image valide" @@ -415,8 +415,8 @@ msgstr "Sélectionnez un fichier à joindre" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "Sélectionnez un fichier à joindre" msgid "Link" msgstr "Lien" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "Lien vers une url externe" @@ -446,8 +446,8 @@ msgstr "Commentaire du fichier" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "Choix invalide" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "Choix invalide" msgid "Name" msgstr "Nom" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "Nom" msgid "Description" msgstr "Description" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "Description (facultative)" @@ -593,12 +593,12 @@ msgstr "Erreur serveur" msgid "An error has been logged by the server." msgstr "Une erreur a été loguée par le serveur." -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "Doit être un nombre valide" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "Backend d'email non configuré" msgid "InvenTree system health checks failed" msgstr "Échec des contrôles de santé du système" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "Base de données inconnue" @@ -754,14 +754,14 @@ msgstr "À propos d'InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "La construction doit être annulée avant de pouvoir être supprimée" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Consommable" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "Allouée" msgid "Available" msgstr "Disponible" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "Disponible" msgid "Build Order" msgstr "Ordre de Fabrication" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "Ordre de Fabrication" msgid "Build Orders" msgstr "Ordres de Fabrication" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "Choix invalide pour la fabrication parente" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "Un utilisateur ou un groupe responsable doit être spécifié" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "La pièce de commande de construction ne peut pas être changée" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "Référence de l' Ordre de Fabrication" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "Référence de l' Ordre de Fabrication" msgid "Reference" msgstr "Référence" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "Brève description de la fabrication (optionnel)" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Fabrication parente" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder associé a cette fabrication" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "BuildOrder associé a cette fabrication" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "BuildOrder associé a cette fabrication" msgid "Part" msgstr "Pièce" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "Sélectionnez la pièce à construire" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "Bon de commande de référence" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "Commande de vente à laquelle cette construction est allouée" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Emplacement d'origine" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Sélectionner l'emplacement à partir duquel le stock doit être pris pour cette construction (laisser vide pour prendre à partir de n'importe quel emplacement de stock)" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "Emplacement cible" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "Sélectionnez l'emplacement où les éléments complétés seront stockés" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "Quantité a fabriquer" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "Nombre de stock items à construire" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "Articles terminés" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "Nombre d'articles de stock qui ont été terminés" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "État de la construction" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "Code de statut de construction" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Code de lot" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "Code de lot pour ce build output" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Date de création" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "Date d'achèvement cible" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Date cible pour l'achèvement de la construction. La construction sera en retard après cette date." -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Date d'achèvement" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "achevé par" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Émis par" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "Utilisateur ayant émis cette commande de construction" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "Utilisateur ayant émis cette commande de construction" msgid "Responsible" msgstr "Responsable" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "Utilisateur ou groupe responsable de cet ordre de construction" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Lien Externe" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "Priorité de fabrication" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "Priorité de cet ordre de fabrication" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "Priorité de cet ordre de fabrication" msgid "Project Code" msgstr "Code du projet" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "Code de projet pour cet ordre de construction" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "Échec du déchargement de la tâche pour terminer les allocations de construction" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "La commande de construction {build} a été effectuée" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "Une commande de construction a été effectuée" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "Pas d'ordre de production défini" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "L'ordre de production a déjà été réalisé" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "L'ordre de production de correspond pas à l'ordre de commande" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 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:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "La sortie de compilation {serial} n'a pas réussi tous les tests requis" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "Création de l'objet" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "Création de l'objet" msgid "Quantity" msgstr "Quantité" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "Quantité requise pour la commande de construction" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "L'élément de construction doit spécifier une sortie de construction, la pièce maîtresse étant marquée comme objet traçable" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "La quantité allouée ({q}) ne doit pas excéder la quantité disponible ({a})" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "L'article de stock est suralloué" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "La quantité allouée doit être supérieure à zéro" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "La quantité doit être de 1 pour stock sérialisé" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "L'article de stock sélectionné ne correspond pas à la ligne BOM" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "L'article de stock sélectionné ne correspond pas à la ligne BOM" msgid "Stock Item" msgstr "Article en stock" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "Stock d'origine de l'article" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "Quantité de stock à allouer à la construction" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "Installer dans" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "Stock de destination de l'article" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "Emplacement des ordres de production achevés" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "Affecter des éléments de nomenclature facultatifs à l'ordre de fabric msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "Article du BOM" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Le stock n'a pas été entièrement alloué à cet ordre de construction" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "Sorties de Construction terminées" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "Stock d'origine" msgid "Stock can be taken from any available location." msgstr "Le stock peut être pris à partir de n'importe quel endroit disponible." -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Destination" @@ -1930,7 +1930,7 @@ msgstr "Code de devise en double" msgid "No valid currency codes provided" msgstr "Aucun code de devise valide fourni" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "Pas de plugin" @@ -2311,7 +2311,7 @@ msgstr "Copier les templates de paramètres de catégorie" msgid "Copy category parameter templates when creating a part" msgstr "Copier les templates de paramètres de la catégorie lors de la création d'une pièce" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "Modèle" msgid "Parts are templates by default" msgstr "Les pièces sont des templates par défaut" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "Assemblage" msgid "Parts can be assembled from other components by default" msgstr "Les pièces peuvent être assemblées à partir d'autres composants par défaut" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Composant" @@ -2343,7 +2343,7 @@ msgstr "Composant" msgid "Parts can be used as sub-components by default" msgstr "Les pièces peuvent être utilisées comme sous-composants par défaut" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "Achetable" @@ -2351,7 +2351,7 @@ msgstr "Achetable" msgid "Parts are purchaseable by default" msgstr "Les pièces sont achetables par défaut" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Vendable" @@ -2360,7 +2360,7 @@ msgstr "Vendable" msgid "Parts are salable by default" msgstr "Les pièces sont vendables par défaut" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "Traçable" msgid "Parts are trackable by default" msgstr "Les pièces sont traçables par défaut" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "Lu" msgid "Was this news item read?" msgstr "Cette nouvelle a-t-elle été lue ?" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "Mots-clés Arguments" msgid "Task keyword arguments" msgstr "Mots-clés arguments tâche" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "Un domaine vide n'est pas autorisé." -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Nom de domaine invalide : {domain}" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "Adresse e-mail de contact" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "Notes internes pour la livraison" msgid "Link to address information (external)" msgstr "Lien vers les informations de l'adresse (externe)" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "Valeur du paramètre" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ 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:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "Description de la pièce du fournisseur" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "Description de la pièce du fournisseur" msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "coût de base" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "Frais minimums (par exemple frais de stock)" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "Nombre de paquet" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "plusieurs" @@ -4231,10 +4231,10 @@ msgstr "Télécharger l'image depuis l'URL" msgid "Delete image" msgstr "Supprimer image" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "Client" msgid "Uses default currency" msgstr "Utiliser la devise par défaut" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "Adresses" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "Stock de pièces du fournisseur" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "Créer un nouvel article de stock" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "Nouvel article de stock" @@ -4743,7 +4743,7 @@ msgstr "Configuration de la machine" msgid "Config type" msgstr "Type de configuration" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "Possède un Tarif" msgid "No matching purchase order found" msgstr "Aucun bon de commande correspondant n'a été trouvé" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Commande" @@ -4783,8 +4783,8 @@ msgstr "Commande Complétée" msgid "Order Pending" msgstr "Commande En Attente" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "Commande En Attente" msgid "Purchase Order" msgstr "Commande d’achat" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "Commande d’achat" msgid "Return Order" msgstr "Retour de commande" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "Prix total pour cette commande" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "Devise de la commande" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "Description de la commande (facultatif)" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "Lien vers une page externe" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Date prévue pour la livraison de la commande. La commande sera en retard après cette date." -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "Créé par" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "Utilisateur ou groupe responsable de cette commande" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "Adresse de l'entreprise pour cette commande" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "Référence de la commande" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "Statut de la commande d'achat" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "Société de laquelle les articles sont commandés" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "Référence du fournisseur" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "Code de référence de la commande fournisseur" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "reçu par" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "Date d'émission" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "Date d'émission de la commande" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "Date à laquelle la commande a été complété" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "La quantité doit être un nombre positif" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "Société à laquelle les articles sont vendus" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "Référence client " -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Nom de l’expédition" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "expédié par" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "La commande ne peut pas être terminée car il y a des envois incomplets" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "Nombre d'élement" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "Contexte" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "Prix unitaire" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "supprimé" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "Pièce fournisseur" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "Pièce fournisseur" msgid "Received" msgstr "Reçu" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "Nombre d'éléments reçus" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "Prix d'achat" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "Prix d'achat unitaire" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "Où l'Acheteur veut-il stocker cet article ?" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "La pièce virtuelle ne peut pas être affectée à une commande" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "Seules les pièces vendues peuvent être attribuées à une commande" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Prix de vente" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "Prix de vente unitaire" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Expédié" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "Quantité expédiée" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "Date d'expédition" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Date de Livraison" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "Vérifié par" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "Utilisateur qui a vérifié cet envoi" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Envoi" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "Numéro d'expédition" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "N° de suivi" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "Information de suivi des colis" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "N° de facture" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "Numéro de référence de la facture associée" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "Le colis a déjà été envoyé" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "L'expédition n'a pas d'articles en stock alloués" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "L'article de stock n'a pas été assigné" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "Impossible d'allouer le stock à une ligne sans pièce" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantité d'allocation ne peut pas excéder la quantité en stock" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "Ligne" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "Article" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "Statut du retour de commande" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5775,12 +5775,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "ID de composant" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Nom de l'article" @@ -5789,20 +5789,20 @@ msgstr "Nom de l'article" msgid "Part Description" msgstr "Description pièce" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Révision" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Mots-clés" @@ -5827,11 +5827,11 @@ msgstr "ID Emplacement par défaut" msgid "Default Supplier ID" msgstr "ID Fournisseur par défaut" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variante de" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Stock Minimum" @@ -5844,12 +5844,12 @@ msgstr "Utilisé pour" msgid "Building" msgstr "Construction" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "Coût minimal" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "Coût maximal" @@ -5867,7 +5867,7 @@ msgstr "" msgid "Category Path" msgstr "Chemin catégorie" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "" @@ -5983,7 +5983,7 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "Catégorie" msgid "Uses" msgstr "Utilise" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Emplacement par défaut" @@ -6010,371 +6010,371 @@ msgstr "Stock total" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Catégorie de composant" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Catégories de composants" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "Structurel" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "Mots-clés par défaut" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "Nom de l'article" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "Catégorie de la pièce" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "Est-ce que cette pièce est active ?" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "Création Utilisateur" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "Propriétaire responsable de cette pièce" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "Ventes multiples" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "Coût minimum de vente" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "Notes additionnelles" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "Nom de test" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Activé" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Requis" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "Valeur requise" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "Données" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Valeur par Défaut" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Surplus" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Validée" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "Devise d'achat de l'item" @@ -7065,11 +7065,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8219,17 +8219,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8754,7 +8754,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Propriétaire" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "Sélectionner un propriétaire" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "La quantité doit être de 1 pour un article avec un numéro de série" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Le numéro de série ne peut pas être défini si la quantité est supérieure à 1" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "Numéro de série pour cet article" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "Les numéros de série doivent être une liste de nombres entiers" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "La quantité ne correspond pas au nombre de numéros de série" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "Les numéros de série existent déjà" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9274,7 +9274,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" @@ -9806,28 +9806,28 @@ msgstr "" msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "Droit de modifier des élément" #: users/models.py:413 msgid "Permission to delete items" msgstr "Droit de supprimer des éléments" - diff --git a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po index 3d24e8f570..61134617d5 100644 --- a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Hebrew\n" @@ -52,17 +52,17 @@ msgstr "" msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "הזן תאריך סיום" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "אישור כתובת אימייל" msgid "You must type the same email each time." msgstr "חובה לרשום את אותו אימייל בכל פעם." -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "" @@ -171,35 +171,35 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "" @@ -415,8 +415,8 @@ msgstr "בחר קובץ לצירוף" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "בחר קובץ לצירוף" msgid "Link" msgstr "קישור" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "קישור חיצוני" @@ -446,8 +446,8 @@ msgstr "הערת קובץ" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "בחירה שגויה" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "בחירה שגויה" msgid "Name" msgstr "שם" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "שם" msgid "Description" msgstr "תיאור" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "תיאור (לא חובה)" @@ -593,12 +593,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "המספר חייב להיות תקין" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "" @@ -754,14 +754,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "" msgid "Reference" msgstr "מקט" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "מקור הבנייה" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "" msgid "Part" msgstr "רכיב" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "בחר רכיב לבנייה" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "כמות בניה" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "" msgid "Quantity" msgstr "כמות" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -2311,7 +2311,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" @@ -2343,7 +2343,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "" @@ -2351,7 +2351,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" @@ -2360,7 +2360,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "" @@ -4231,10 +4231,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "נשלח" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5775,12 +5775,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5789,20 +5789,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5827,11 +5827,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5844,12 +5844,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" @@ -5867,7 +5867,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "" @@ -5983,7 +5983,7 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -6010,371 +6010,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "" @@ -7065,11 +7065,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8219,17 +8219,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8754,7 +8754,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9274,7 +9274,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" @@ -9806,28 +9806,28 @@ msgstr "" msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po index 441116f3e3..07c48bf323 100644 --- a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:05\n" "Last-Translator: \n" "Language-Team: Hindi\n" @@ -52,17 +52,17 @@ msgstr "" msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "तारीख दर्ज करें" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "" msgid "You must type the same email each time." msgstr "" -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "" @@ -171,35 +171,35 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "कनेक्शन त्रुटि" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "" @@ -415,8 +415,8 @@ msgstr "" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "" @@ -446,8 +446,8 @@ msgstr "" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "" @@ -593,12 +593,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "" @@ -754,14 +754,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -2311,7 +2311,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" @@ -2343,7 +2343,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "" @@ -2351,7 +2351,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" @@ -2360,7 +2360,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "" @@ -4231,10 +4231,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5775,12 +5775,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5789,20 +5789,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5827,11 +5827,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5844,12 +5844,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" @@ -5867,7 +5867,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "" @@ -5983,7 +5983,7 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -6010,371 +6010,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "" @@ -7065,11 +7065,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8219,17 +8219,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8754,7 +8754,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9274,7 +9274,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" @@ -9806,28 +9806,28 @@ msgstr "" msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po index 12445a123e..77a52aa385 100644 --- a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Hungarian\n" @@ -52,17 +52,17 @@ msgstr "Hibás mennyiség ({exc})" msgid "Error details can be found in the admin panel" msgstr "A hiba részleteit megtalálod az admin panelen" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "Dátum megadása" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "Email cím megerősítés" msgid "You must type the same email each time." msgstr "Mindig ugyanazt az email címet kell beírni." -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "A megadott elsődleges email cím nem valós." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "A megadott email domain nincs jóváhagyva." -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "Regisztráció le van tiltva." -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "Nem megfelelő mennyiség" @@ -171,35 +171,35 @@ msgstr "Az egyedi sorozatszámok számának ({len(serials)}) meg kell egyeznie a msgid "Remove HTML tags from this value" msgstr "HTML tag-ek eltávolítása ebből az értékből" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "Csatlakozási hiba" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "A kiszolgáló érvénytelen státuszkóddal válaszolt" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "Kivétel történt" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "A kiszolgáló érvénytelen Content-Length értéket adott" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "A kép mérete túl nagy" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "A kép letöltés meghaladja a maximális méretet" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "A kiszolgáló üres választ adott" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "A megadott URL nem egy érvényes kép fájl" @@ -415,8 +415,8 @@ msgstr "Válaszd ki a mellekelni kívánt fájlt" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "Válaszd ki a mellekelni kívánt fájlt" msgid "Link" msgstr "Link" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "Link külső URL-re" @@ -446,8 +446,8 @@ msgstr "Leírás, bővebb infó" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "Érvénytelen választás" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "Érvénytelen választás" msgid "Name" msgstr "Név" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "Név" msgid "Description" msgstr "Leírás" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "Leírás (opcionális)" @@ -593,12 +593,12 @@ msgstr "Kiszolgálóhiba" msgid "An error has been logged by the server." msgstr "A kiszolgáló egy hibaüzenetet rögzített." -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "Érvényes számnak kell lennie" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "Email backend nincs beállítva" msgid "InvenTree system health checks failed" msgstr "InvenTree rendszer állapotának ellenőrzése sikertelen" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "Ismeretlen adatbázis" @@ -754,14 +754,14 @@ msgstr "Verzió információk" msgid "Build must be cancelled before it can be deleted" msgstr "A gyártást be kell fejezni a törlés előtt" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Fogyóeszköz" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "Lefoglalva" msgid "Available" msgstr "Elérhető" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "Elérhető" msgid "Build Order" msgstr "Gyártási utasítás" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "Gyártási utasítás" msgid "Build Orders" msgstr "Gyártási utasítások" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "Hibás választás a szülő gyártásra" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "Meg kell adni felelős felhasználót vagy csoportot" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "Gyártási rendelés alkatrész nem változtatható" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "Gyártási utasítás azonosító" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "Gyártási utasítás azonosító" msgid "Reference" msgstr "Azonosító" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "Gyártás rövid leírása (opcionális)" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Szülő gyártás" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" msgid "Part" msgstr "Alkatrész" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "Válassz alkatrészt a gyártáshoz" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "Vevői rendelés azonosító" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "Vevői rendelés amihez ez a gyártás hozzá van rendelve" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Forrás hely" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Válassz helyet ahonnan készletet vegyünk el ehhez a gyártáshoz (hagyd üresen ha bárhonnan)" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "Cél hely" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "Válassz helyet ahol a kész tételek tárolva lesznek" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "Gyártási mennyiség" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "Gyártandó készlet tételek száma" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "Kész tételek" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "Elkészült készlet tételek száma" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "Gyártási állapot" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "Gyártás státusz kód" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batch kód" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "Batch kód a gyártás kimenetéhez" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Létrehozás dátuma" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "Befejezés cél dátuma" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Cél dátum a gyártás befejezéséhez. Ez után késettnek számít majd." -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Befejezés dátuma" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "elkészítette" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Indította" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "Felhasználó aki ezt a gyártási utasítást kiállította" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "Felhasználó aki ezt a gyártási utasítást kiállította" msgid "Responsible" msgstr "Felelős" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "Felhasználó vagy csoport aki felelős ezért a gyártásért" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Külső link" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "Priorítás" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "Gyártási utasítás priorítása" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "Gyártási utasítás priorítása" msgid "Project Code" msgstr "Projektszám" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "Projekt kód a gyártáshoz" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "A gyártási foglalások teljesítése háttérfeladat elvégzése nem sikerült" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "A {build} gyártási utasítás elkészült" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "Gyártási utasítás elkészült" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "Nincs gyártási kimenet megadva" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "Gyártási kimenet már kész" -#: build/models.py:853 +#: build/models.py:854 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:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 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:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "A {serial} gyártási kimenet nem felelt meg az összes kötelező teszten" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "Gyártás objektum" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "Gyártás objektum" msgid "Quantity" msgstr "Mennyiség" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "Gyártáshoz szükséges mennyiség" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Gyártási tételnek meg kell adnia a gyártási kimenetet, mivel a fő darab egyedi követésre kötelezett" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "A lefoglalt mennyiség ({q}) nem lépheti túl a szabad készletet ({a})" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "Készlet túlfoglalva" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "A készlet tétel nem egyezik az alkatrészjegyzékkel" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "A készlet tétel nem egyezik az alkatrészjegyzékkel" msgid "Stock Item" msgstr "Készlet tétel" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "Forrás készlet tétel" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "Készlet mennyiség amit foglaljunk a gyártáshoz" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "Beépítés ebbe" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "Cél készlet tétel" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "A kész gyártási kimenetek helye" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1349,7 +1349,8 @@ msgstr "Hiányos foglalás elfogadása" #: build/serializers.py:527 msgid "Complete outputs if stock has not been fully allocated" -msgstr "Kimenetek befejezése akkor is ha a készlet nem\n" +msgstr "" +"Kimenetek befejezése akkor is ha a készlet nem\n" "lett teljesen lefoglalva" #: build/serializers.py:612 @@ -1501,7 +1502,7 @@ msgstr "Opcionális tételek lefoglalása a gyártáshoz" msgid "Failed to start auto-allocation task" msgstr "Nem sikerült az automatikus lefoglalás feladatot elindítani" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "Alkatrészjegyzék tétel" @@ -1678,8 +1679,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Még nincs lefoglalva a szükséges készlet" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1716,8 +1717,8 @@ msgid "Completed Outputs" msgstr "Befejezett kimenetek" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1767,7 +1768,7 @@ msgstr "Készlet forrás" msgid "Stock can be taken from any available location." msgstr "Készlet bármely rendelkezésre álló helyről felhasználható." -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Cél" @@ -1931,7 +1932,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "Nincsen plugin" @@ -2312,7 +2313,7 @@ msgstr "Kategória paraméter sablonok másolása" msgid "Copy category parameter templates when creating a part" msgstr "Kategória paraméter sablonok másolása alkatrész létrehozásakor" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2324,7 +2325,7 @@ msgstr "Sablon" msgid "Parts are templates by default" msgstr "Alkatrészek alapból sablon alkatrészek legyenek" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2335,7 +2336,7 @@ msgstr "Gyártmány" msgid "Parts can be assembled from other components by default" msgstr "Alkatrészeket alapból lehessen gyártani másik alkatrészekből" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Összetevő" @@ -2344,7 +2345,7 @@ msgstr "Összetevő" msgid "Parts can be used as sub-components by default" msgstr "Alkatrészek alapból használhatók összetevőként más alkatrészekhez" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "Beszerezhető" @@ -2352,7 +2353,7 @@ msgstr "Beszerezhető" msgid "Parts are purchaseable by default" msgstr "Alkatrészek alapból beszerezhetők legyenek" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Értékesíthető" @@ -2361,7 +2362,7 @@ msgstr "Értékesíthető" msgid "Parts are salable by default" msgstr "Alkatrészek alapból eladhatók legyenek" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2372,7 +2373,7 @@ msgstr "Követésre kötelezett" msgid "Parts are trackable by default" msgstr "Alkatrészek alapból követésre kötelezettek legyenek" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3443,7 +3444,7 @@ msgid "Price break quantity" msgstr "Ársáv mennyiség" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3467,7 +3468,7 @@ msgid "Name for this webhook" msgstr "Webhook neve" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3572,7 +3573,7 @@ msgstr "Elolvasva" msgid "Was this news item read?" msgstr "Elolvasva?" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3712,19 +3713,19 @@ msgstr "Kulcsszó paraméterek" msgid "Task keyword arguments" msgstr "Feladat kulcsszó paraméterek" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "Üres domain nem engedélyezett." -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Érvénytelen domain név: {domain}" @@ -3818,7 +3819,7 @@ msgid "Contact email address" msgstr "Kapcsolattartó email címe" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3958,8 +3959,8 @@ 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:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Kiindulási alkatrész" @@ -4030,7 +4031,7 @@ msgid "Parameter value" msgstr "Paraméter értéke" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4054,7 +4055,7 @@ 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:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4094,7 +4095,7 @@ msgid "Supplier part description" msgstr "Beszállítói alkatrész leírása" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4104,16 +4105,16 @@ msgstr "Beszállítói alkatrész leírása" msgid "Note" msgstr "Megjegyzés" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "alap költség" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimális díj (pl. tárolási díj)" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4138,7 +4139,7 @@ msgstr "Csomagolási mennyiség" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Egy csomagban kiszállítható mennyiség, hagyd üresen az egyedi tételeknél." -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "többszörös" @@ -4232,10 +4233,10 @@ msgstr "Kép letöltése URL-ről" msgid "Delete image" msgstr "Kép törlése" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4250,7 +4251,7 @@ msgstr "Vevő" msgid "Uses default currency" msgstr "Alapértelmezett pénznemet használja" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4497,7 +4498,7 @@ msgstr "Címek" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4559,12 +4560,12 @@ msgid "Supplier Part Stock" msgstr "Beszállítói készlet" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "Új készlet tétel létrehozása" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "Új készlet tétel" @@ -4744,7 +4745,7 @@ msgstr "Gép konfiguráció" msgid "Config type" msgstr "Konfiguráció típusa" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4769,9 +4770,9 @@ msgstr "Van árazás" msgid "No matching purchase order found" msgstr "Nincs egyező beszerzési rendelés" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Rendelés" @@ -4784,8 +4785,8 @@ msgstr "A rendelés teljesítve" msgid "Order Pending" msgstr "A rendelés függőben" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4798,8 +4799,8 @@ msgstr "A rendelés függőben" msgid "Purchase Order" msgstr "Beszerzési rendelés" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4807,186 +4808,186 @@ msgstr "Beszerzési rendelés" msgid "Return Order" msgstr "Visszavétel" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "A rendelés teljes ára" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "Rendelés pénzneme" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "Megrendeléshez használt pénznem (hagyd üresen a cégnél alapértelmezetthez)" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "A kapcsolattartó nem egyezik a kiválasztott céggel" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "Rendelés leírása (opcionális)" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "Válassz projektszámot ehhez a rendeléshez" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "Link külső weboldalra" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Várt teljesítési dátuma a megrendelésnek. Ezután már késésben lévőnek számít majd." -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "Készítette" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "Felhasználó vagy csoport aki felelőse ennek a rendelésnek" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "Kapcsolattartó ehhez a rendeléshez" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "Cég címei ehhez a rendeléshez" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "Rendelés azonosító" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "Beszerzési rendelés állapota" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "Cég akitől a tételek beszerzésre kerülnek" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "Beszállítói azonosító" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "Beszállítói rendelés azonosító kód" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "érkeztette" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "Kiállítás dátuma" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "Kiállítás dátuma" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "Rendelés teljesítési dátuma" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "Az alkatrész beszállítója meg kell egyezzen a beszerzési rendelés beszállítójával" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "Mennyiség pozitív kell legyen" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "Cég akinek a tételek értékesítésre kerülnek" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "Vevői azonosító " -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "Megrendelés azonosító kódja a vevőnél" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Kiszállítás dátuma" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "szállította" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "Csak nyitott rendelés jelölhető késznek" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "A rendelés nem jelölhető késznek mivel függő szállítmányok vannak" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "A rendelés nem jelölhető késznek mivel nem teljesített sortételek vannak" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "Tétel mennyiség" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "Sortétel azonosító" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "Sortétel megjegyzései" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Cél dátuma ennek a sortételnek (hagyd üresen a rendelés céldátum használatához)" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "Sortétel leírása (opcionális)" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "Kontextus" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "További kontextus ehhez a sorhoz" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "Egységár" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "Beszállítói alkatrésznek egyeznie kell a beszállítóval" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "törölve" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "Beszállítói alkatrész" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4996,192 +4997,192 @@ msgstr "Beszállítói alkatrész" msgid "Received" msgstr "Beérkezett" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "Érkezett tételek száma" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "Beszerzési ár" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "Beszerzési egységár" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "Mit szeretne a vevő hol tároljuk ezt az alkatrészt?" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtuális alkatrészt nem lehet vevői rendeléshez adni" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "Csak értékesíthető alkatrészeket lehet vevői rendeléshez adni" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Eladási ár" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "Eladási egységár" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Kiszállítva" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "Szállított mennyiség" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "Szállítás dátuma" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Szállítási dátum" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "Kézbesítés dátuma" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "Ellenőrizte" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Szállítmány" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "Szállítmány száma" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "Nyomkövetési szám" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "Szállítmány nyomkövetési információ" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "Számlaszám" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "Hozzátartozó számla referencia száma" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "Szállítmány már elküldve" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "Szállítmány nem tartalmaz foglalt készlet tételeket" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "Készlet tétel nincs hozzárendelve" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "Nem foglalható készlet egy másik fajta alkatrész sortételéhez" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "Nem foglalható készlet egy olyan sorhoz amiben nincs alkatrész" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A lefoglalandó mennyiség nem haladhatja meg a készlet mennyiségét" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "Vevői rendelés nem egyezik a szállítmánnyal" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "Szállítmány nem egyezik a vevői rendeléssel" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "Sor" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "Vevői rendelés szállítmány azonosító" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "Tétel" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "Válaszd ki a foglalásra szánt készlet tételt" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "Visszavétel azonosító" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "Cég akitől a tételek visszavételre kerülnek" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "Visszavétel állapota" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "Csak szériaszámos tételek rendelhetők visszaszállítási utasításhoz" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "Válaszd ki a vevőtől visszavenni kívánt tételt" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "Visszavétel dátuma" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "Mikor lett visszavéve a tétel" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Kimenetel" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "Sortétel végső kimenetele" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "Sortétel visszaküldésének vagy javításának költsége" @@ -5776,12 +5777,12 @@ msgstr "A {part} egységára {price}-ra módosítva" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "A {part} alkatrész módosított egységára {price} mennyisége pedig {qty}" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "Alkatrész ID" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Alkatrész neve" @@ -5790,20 +5791,20 @@ msgstr "Alkatrész neve" msgid "Part Description" msgstr "Alkatrész leírása" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "IPN (Belső Cikkszám)" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Változat" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Kulcsszavak" @@ -5828,11 +5829,11 @@ msgstr "Alapértelmezett készlethely ID" msgid "Default Supplier ID" msgstr "Alapértelmezett beszállító ID" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Ebből a sablonból" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimális készlet" @@ -5845,12 +5846,12 @@ msgstr "Felhasználva ebben" msgid "Building" msgstr "Gyártásban" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "Minimum költség" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "Maximum költség" @@ -5868,7 +5869,7 @@ msgstr "Szülő neve" msgid "Category Path" msgstr "Kategória elérési út" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5892,7 +5893,7 @@ msgstr "Alkatrészjegyzék tétel ID" msgid "Parent IPN" msgstr "Szülő IPN" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "Alkatrész IPN" @@ -5984,7 +5985,7 @@ msgstr "Ennek az opciónak ki kll lennie választva" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5997,7 +5998,7 @@ msgstr "Kategória" msgid "Uses" msgstr "Használ" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Alapértelmezett hely" @@ -6011,371 +6012,371 @@ msgstr "Teljes készlet" msgid "Input quantity for price calculation" msgstr "Add meg a mennyiséget az árszámításhoz" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Alkatrész kategória" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Alkatrész kategóriák" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "Ebben a kategóriában lévő alkatrészek helye alapban" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "Szerkezeti" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "A szerkezeti alkatrész kategóriákhoz nem lehet direktben alkatrészeket hozzáadni, csak az alkategóriáikhoz." -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "Alapértelmezett kulcsszavak" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Ikon" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "Ikon (opcionális)" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Nem lehet az alkatrészkategóriát szerkezeti kategóriává tenni, mert már vannak itt alkatrészek!" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "Hibás választás a szülő alkatrészre" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Az '{self}' alkatrész nem használható a '{parent}' alkatrészjegyzékében (mert rekurzív lenne)" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Az '{parent}' alkatrész szerepel a '{self}' alkatrészjegyzékében (rekurzív)" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "Az IPN belső cikkszámnak illeszkednie kell a {pattern} regex mintára" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "Létezik már készlet tétel ilyen a sorozatszámmal" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "Azonos IPN nem engedélyezett az alkatrészekre, már létezik ilyen" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "Ilyen nevű, IPN-ű és reviziójú alkatrész már létezik." -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "Szerkezeti kategóriákhoz nem lehet alkatrészeket rendelni!" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "Alkatrész neve" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "Sablon-e" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "Ez egy sablon alkatrész?" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "Ez az alkatrész egy másik változata?" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "Alkatrész leírása (opcionális)" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "Alkatrész kulcsszavak amik segítik a megjelenést a keresési eredményekben" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "Alkatrész kategória" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "Belső cikkszám" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "Alkatrész változat vagy verziószám (pl. szín, hossz, revízió, stb.)" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "Alapban hol tároljuk ezt az alkatrészt?" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Alapértelmezett beszállító" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "Alapértelmezett beszállítói alkatrész" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "Alapértelmezett lejárat" -#: part/models.py:1036 +#: part/models.py:1027 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:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "Minimálisan megengedett készlet mennyiség" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "Alkatrész mértékegysége" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "Gyártható-e ez az alkatrész más alkatrészekből?" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "Felhasználható-e ez az alkatrész más alkatrészek gyártásához?" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "Kell-e külön követni az egyes példányait ennek az alkatrésznek?" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "Rendelhető-e ez az alkatrész egy külső beszállítótól?" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "Értékesíthető-e önmagában ez az alkatrész a vevőknek?" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "Aktív-e ez az alkatrész?" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "Ez egy virtuális nem megfogható alkatrész, pl. szoftver vagy licenc?" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "Alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "Tárolt alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "Alkatrészjegyzéket ellenőrizte" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "Alkatrészjegyzék ellenőrzési dátuma" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "Létrehozó" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "Alkatrész felelőse" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "Utolsó leltár" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "Több értékesítése" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "Árszámítások gyorstárazásához használt pénznem" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "Minimum alkatrészjegyzék költség" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "Összetevők minimum költsége" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "Maximum alkatrészjegyzék költség" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "Összetevők maximum költsége" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "Minimum beszerzési ár" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "Eddigi minimum beszerzési költség" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "Maximum beszerzési ár" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "Eddigi maximum beszerzési költség" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "Minimum belső ár" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "Minimum költség a belső ársávok alapján" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "Maximum belső ár" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "Maximum költség a belső ársávok alapján" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "Minimum beszállítói ár" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "Minimum alkatrész ár a beszállítóktól" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "Maximum beszállítói ár" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "Maximum alkatrész ár a beszállítóktól" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "Minimum alkatrészváltozat ár" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "Alkatrészváltozatok számolt minimum költsége" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "Maximum alkatrészváltozat ár" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "Alkatrészváltozatok számolt maximum költsége" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "Minimum költség felülbírálása" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "Maximum költség felülbírálása" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "Számított általános minimum költség" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "Számított általános maximum költség" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "Minimum eladási ár" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "Minimum eladási ár az ársávok alapján" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "Maximum eladási ár" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "Maximum eladási ár az ársávok alapján" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "Minimum eladási költség" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "Eddigi minimum eladási ár" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "Maximum eladási költség" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "Eddigi maximum eladási ár" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "Leltározható alkatrész" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "Tételszám" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "Egyedi készlet tételek száma a leltárkor" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "Teljes készlet a leltárkor" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6387,340 +6388,340 @@ msgstr "Teljes készlet a leltárkor" msgid "Date" msgstr "Dátum" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "Leltározva ekkor" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "További megjegyzések" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "Leltározta" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "Minimum készlet érték" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "Becsült minimum raktárkészlet érték" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "Maximum készlet érték" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "Becsült maximum raktárkészlet érték" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Riport" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "Leltár riport fájl (generált)" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Alkatrész szám" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "Leltározott alkatrészek száma" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "Felhasználó aki a leltár riportot kérte" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Hibás sablon név - legalább egy alfanumerikus karakter kötelező" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "A lehetőségek egyediek kell legyenek" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "Teszt sablont csak követésre kötelezett alkatrészhez lehet csinálni" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "Már létezik ilyen azonosítójú Teszt sablon ehhez az alkatrészhez" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "Teszt név" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "Add meg a teszt nevét" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "Teszt azonosító" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "Egyszerűsített Teszt azonosító" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "Teszt leírása" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "Adj hozzá egy leírást ehhez a teszthez" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Engedélyezve" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "Teszt engedélyezve?" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Kötelező" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "Szükséges-e hogy ez a teszt sikeres legyen?" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "Kötelező érték" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "Szükséges-e hogy ennek a tesztnek az eredményéhez kötelezően érték legyen rendelve?" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "Kötelező melléklet" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "Szükséges-e hogy ennek a tesztnek az eredményéhez kötelezően fájl melléklet legyen rendelve?" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "Lehetőségek" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "Jelölőnégyzet paraméternek nem lehet mértékegysége" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "Jelölőnégyzet paraméternek nem lehetnek választási lehetőségei" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "A paraméter sablon nevének egyedinek kell lennie" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "Paraméter neve" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "Paraméter mértékegysége" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "Paraméter leírása" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "Jelölőnégyzet" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "Ez a paraméter egy jelölőnégyzet?" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "Választható lehetőségek (vesszővel elválasztva)" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "Hibás választás a paraméterre" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "Szülő alkatrész" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Paraméter sablon" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "Adat" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "Paraméter értéke" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Alapértelmezett érték" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "Alapértelmezett paraméter érték" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "Alkatrész ID vagy alkatrész név" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "Egyedi alkatrész ID értéke" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "Alkatrész IPN érték" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "Szint" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "Alkatrészjegyzék szint" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "Szülő alkatrész kiválasztása" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "Al alkatrész" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "Ez az alkatrészjegyzék tétel opcionális" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Ez az alkatrészjegyzék tétel fogyóeszköz (készlete nincs követve a gyártásban)" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Többlet" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Becsült gyártási veszteség (abszolút vagy százalékos)" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "Alkatrészjegyzék tétel azonosító" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "Alkatrészjegyzék tétel megjegyzései" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "Ellenőrző összeg" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "Alkatrészjegyzék sor ellenőrző összeg" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Jóváhagyva" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "Ez a BOM tétel jóvá lett hagyva" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "Öröklődött" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Ezt az alkatrészjegyzék tételt az alkatrész változatok alkatrészjegyzékei is öröklik" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Változatok" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Alkatrészváltozatok készlet tételei használhatók ehhez az alkatrészjegyzék tételhez" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "A mennyiség egész szám kell legyen a követésre kötelezett alkatrészek esetén" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "Al alkatrészt kötelező megadni" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "Alkatrészjegyzék tétel helyettesítő" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "A helyettesítő alkatrész nem lehet ugyanaz mint a fő alkatrész" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "Szülő alkatrészjegyzék tétel" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "Helyettesítő alkatrész" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "1.rész" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "2.rész" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "Válassz kapcsolódó alkatrészt" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "Alkatrész kapcsolat nem hozható létre önmagával" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "Már létezik duplikált alkatrész kapcsolat" @@ -6738,7 +6739,7 @@ msgstr "Eredmények" msgid "Number of results recorded against this template" msgstr "Eszerint a sablon szerint rögzített eredmények száma" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "Beszerzési pénzneme ennek a készlet tételnek" @@ -7066,11 +7067,11 @@ msgstr "Leltár riport rendelkezésre áll" msgid "A new stocktake report is available for download" msgstr "Egy új leltár riport készen áll a letöltésre" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "Alacsony készlet értesítés" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "A {part.name} alkatrész rendelkezésre álló készlete a megadott minimum alá csökkent" @@ -8220,17 +8221,17 @@ msgstr "Módszer" msgid "No author found" msgstr "Nincs szerző" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "A '{p}' plugin nem kompatibilis az aktuális applikáció verzióval {v}" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "A pluginhoz minimum {v} verzió kell" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "A pluginhoz maximum {v} verzió kell" @@ -8398,19 +8399,19 @@ msgstr "Címkenyomtatási hiba" msgid "Template file '{template}' is missing or does not exist" msgstr "A '{template}' sablon fájl hiányzik vagy nem érhető el" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "A4" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "A3" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "Jogi információk" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "„Letter” méret" @@ -8611,7 +8612,7 @@ msgid "Total" msgstr "Összesen" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8730,7 +8731,7 @@ msgstr "Beszállító neve" msgid "Customer ID" msgstr "Vevő ID" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Beépítve ebbe" @@ -8755,7 +8756,7 @@ msgstr "Felülvizsgálat szükséges" msgid "Delete on Deplete" msgstr "Törlés ha kimerül" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8818,252 +8819,252 @@ msgstr "A beszállítói alkatrészhez van megadva csomagolási mennyiség, de a msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Sorozatszámot nem lehet megadni nem követésre kötelezett alkatrész esetén" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "Készlethely típus" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "Készlethely típusok" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "Alapértelmezett ikon azokhoz a helyekhez, melyeknek nincs ikonja beállítva (válaszható)" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Készlet hely" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Készlethelyek" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Tulajdonos" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "Tulajdonos kiválasztása" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "A szerkezeti raktári helyekre nem lehet direktben raktározni, csak az al-helyekre." -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "Külső" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "Ez egy külső készlethely" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "Helyszín típusa" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "Tárolóhely típus" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "Nem lehet ezt a raktári helyet szerkezetivé tenni, mert már vannak itt tételek!" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "A szerkezeti raktári helyre nem lehet készletet felvenni!" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "Virtuális alkatrészből nem lehet készletet létrehozni" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "A beszállítói alkatrész típusa ('{self.supplier_part.part}') mindenképpen {self.part} kellene, hogy legyen" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "Mennyiség 1 kell legyen a sorozatszámmal rendelkező tételnél" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Nem lehet sorozatszámot megadni ha a mennyiség több mint egy" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "A tétel nem tartozhat saját magához" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "A tételnek kell legyen gyártási azonosítója ha az is_bulding igaz" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "Gyártási azonosító nem ugyanarra az alkatrész objektumra mutat" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "Szülő készlet tétel" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "Kiindulási alkatrész" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "Válassz egy egyező beszállítói alkatrészt ehhez a készlet tételhez" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "Hol található ez az alkatrész?" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "A csomagolása ennek a készlet tételnek itt van tárolva" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "Ez a tétel be van építve egy másik tételbe?" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "Sorozatszám ehhez a tételhez" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "Batch kód ehhez a készlet tételhez" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "Készlet mennyiség" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "Forrás gyártás" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "Gyártás ehhez a készlet tételhez" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "Felhasználva ebben" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "Felhasználva ebben a gyártásban" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "Forrás beszerzési rendelés" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "Beszerzés ehhez a készlet tételhez" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "Cél vevői rendelés" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Készlet tétel lejárati dátuma. A készlet lejártnak tekinthető ezután a dátum után" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "Törlés ha kimerül" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "Készlet tétel törlése ha kimerül" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "Egy egység beszerzési ára a beszerzés időpontjában" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "Alkatrésszé alakítva" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "Az alkatrész nem követésre kötelezett" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "Mennyiség egész szám kell legyen" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "A mennyiség nem haladhatja meg az elérhető készletet ({self.quantity})" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "A sorozatszám egész számok listája kell legyen" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "A mennyiség nem egyezik a megadott sorozatszámok számával" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "A sorozatszámok már léteznek" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "Ez a Teszt sablon nem létezik" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "Készlet tétel beépül egy másikba" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "A készlet tétel más tételeket tartalmaz" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "Készlet tétel hozzárendelve egy vevőhöz" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "Készlet tétel gyártás alatt" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "Követésre kötelezett készlet nem vonható össze" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "Duplikált készlet tételek vannak" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "A készlet tétel ugyanarra az alkatrészre kell vonatkozzon" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "A készlet tétel ugyanarra a beszállítói alkatrészre kell vonatkozzon" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "Készlet tételek állapotainak egyeznie kell" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "Készlet tétel nem mozgatható mivel nincs készleten" @@ -9179,11 +9180,11 @@ msgstr "A tesztet nem lehet a kezdésnél hamarabb befejezni" msgid "Serial number is too large" msgstr "Szériaszám túl nagy" -#: stock/serializers.py:414 +#: stock/serializers.py:439 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:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "Készlet tétel beszerzési ára, per darab vagy csomag" @@ -9275,7 +9276,7 @@ msgstr "Nincs készlet tétel kiválasztva" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Alhelyek" @@ -9807,28 +9808,28 @@ msgstr "Úgytűnik nem vagy ennek a készlethelynek a tulajdonosa. Ezt így nem msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "Új készlet hely létrehozása" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "Új hely" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "készlet hely" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "Készlet tároló bevételezve erre a helyre" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "Készlet hely QR kódja" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "Vonalkód hozzárendelése a készlet helyhez" @@ -14391,4 +14392,3 @@ msgstr "Jogosultság tételek szerkesztéséhez" #: users/models.py:413 msgid "Permission to delete items" msgstr "Jogosultság tételek törléséhez" - diff --git a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po index baf67d03fc..d5c72e4b8c 100644 --- a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:05\n" "Last-Translator: \n" "Language-Team: Indonesian\n" @@ -52,17 +52,17 @@ msgstr "" msgid "Error details can be found in the admin panel" msgstr "Detail terkait galat dapat dilihat di panel admin" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "Masukkan tanggal" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "Konfirmasi alamat email" msgid "You must type the same email each time." msgstr "Masukkan email yang sama." -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "Alamat surel utama yang diberikan tidak valid." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "Domain surel yang diberikan tidak perbolehkan." -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "Jumlah yang diberikan tidak valid" @@ -171,35 +171,35 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "Hapus tag-tag HTML dari nilai ini" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "Ukuran gambar terlalu besar" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "URL yang diberikan bukan file gambar yang valid" @@ -415,8 +415,8 @@ msgstr "Pilih file untuk dilampirkan" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "Pilih file untuk dilampirkan" msgid "Link" msgstr "Tautan" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "Tautan menuju URL eksternal" @@ -446,8 +446,8 @@ msgstr "Komentar file" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "Pilihan tidak valid" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "Pilihan tidak valid" msgid "Name" msgstr "Nama" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "Nama" msgid "Description" msgstr "Keterangan" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "Keterangan (opsional)" @@ -593,12 +593,12 @@ msgstr "Terjadi Kesalahan Server" msgid "An error has been logged by the server." msgstr "Sebuah kesalahan telah dicatat oleh server." -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "Harus berupa angka yang valid" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "Pengecekan kesehatan sistem InvenTree gagal" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "" @@ -754,14 +754,14 @@ msgstr "Tentang InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Pesanan harus dibatalkan sebelum dapat dihapus" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "" msgid "Build Order" msgstr "Order Produksi" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "Order Produksi" msgid "Build Orders" msgstr "Order Produksi" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "Pilihan produksi induk tidak valid" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "Referensi Order Produksi" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "Referensi Order Produksi" msgid "Reference" msgstr "Referensi" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Produksi Induk" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "Produksi induk dari produksi ini" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "Produksi induk dari produksi ini" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "Produksi induk dari produksi ini" msgid "Part" msgstr "Bagian" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "Pilih bagian untuk diproduksi" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "Referensi Order Penjualan" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "Order penjualan yang teralokasikan ke pesanan ini" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Lokasi Sumber" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Pilih dari lokasi mana stok akan diambil untuk produksi ini (kosongkan untuk mengambil stok dari mana pun)" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "Lokasi Tujuan" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "Pilih lokasi di mana item selesai akan disimpan" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "Jumlah Produksi" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "Jumlah item stok yang akan dibuat" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "Item selesai" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "Jumlah stok item yang telah diselesaikan" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "Status pembuatan" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "Kode status pembuatan" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Kode Kelompok" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "Kode kelompok untuk hasil produksi ini" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Tanggal Pembuatan" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "Target tanggal selesai" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Target tanggal selesai produksi. Produksi akan menjadi terlambat setelah tanggal ini." -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Tanggal selesai" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "diselesaikan oleh" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Diserahkan oleh" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "Pengguna yang menyerahkan order ini" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "Pengguna yang menyerahkan order ini" msgid "Responsible" msgstr "Penanggung Jawab" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Tautan eksternal" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "Tidak ada hasil produksi yang ditentukan" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "Hasil produksi sudah selesai" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "Hasil produksi tidak sesuai dengan order produksi" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Jumlah harus lebih besar daripada nol" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "" msgid "Quantity" msgstr "Jumlah" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Item produksi harus menentukan hasil produksi karena bagian utama telah ditandai sebagai dapat dilacak" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "Item stok teralokasikan terlalu banyak" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "Jumlah yang dialokasikan harus lebih dari nol" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "Jumlah harus 1 untuk stok dengan nomor seri" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "" msgid "Stock Item" msgstr "Stok Item" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "Sumber stok item" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "Jumlah stok yang dialokasikan ke produksi" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "Pasang ke" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "Tujuan stok item" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "Lokasi hasil pesanan yang selesai" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "Item tagihan material" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -2311,7 +2311,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" @@ -2343,7 +2343,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "" @@ -2351,7 +2351,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" @@ -2360,7 +2360,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "" @@ -4231,10 +4231,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Dikirim" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5775,12 +5775,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5789,20 +5789,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5827,11 +5827,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5844,12 +5844,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" @@ -5867,7 +5867,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "" @@ -5983,7 +5983,7 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -6010,371 +6010,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "" @@ -7065,11 +7065,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8219,17 +8219,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8754,7 +8754,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9274,7 +9274,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" @@ -9806,28 +9806,28 @@ msgstr "" msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po index 74df3343c3..be35da4612 100644 --- a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Italian\n" @@ -52,17 +52,17 @@ msgstr "Quantità fornita non valida ({exc})" msgid "Error details can be found in the admin panel" msgstr "I dettagli dell'errore possono essere trovati nel pannello di amministrazione" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "Inserisci la data" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "Conferma indirizzo email" msgid "You must type the same email each time." msgstr "È necessario digitare la stessa e-mail ogni volta." -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "L'indirizzo email principale fornito non è valido." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "L'indirizzo di posta elettronica fornito non è approvato." -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "La registrazione è disabilitata." -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "Quantità inserita non valida" @@ -171,35 +171,35 @@ msgstr "Il numero di numeri di serie univoci ({len(serials)}) deve corrispondere msgid "Remove HTML tags from this value" msgstr "Rimuovi i tag HTML da questo valore" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "Errore di connessione" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "Il server ha risposto con un codice di stato non valido" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "Si è verificata un'eccezione" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "Il server ha risposto con valore Content-Length non valido" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "Immagine troppo grande" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "Il download dell'immagine ha superato la dimensione massima" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "Il server remoto ha restituito una risposta vuota" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "L'URL fornito non è un file immagine valido" @@ -415,8 +415,8 @@ msgstr "Seleziona file da allegare" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "Seleziona file da allegare" msgid "Link" msgstr "Collegamento" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "Link a URL esterno" @@ -446,8 +446,8 @@ msgstr "Commento del file" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "Scelta non valida" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "Scelta non valida" msgid "Name" msgstr "Nome" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "Nome" msgid "Description" msgstr "Descrizione" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "Descrizione (opzionale)" @@ -593,12 +593,12 @@ msgstr "Errore del server" msgid "An error has been logged by the server." msgstr "Un errore è stato loggato dal server." -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "Deve essere un numero valido" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "Server di posta non configurato" msgid "InvenTree system health checks failed" msgstr "Controlli di sistema InvenTree falliti" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "Database sconosciuto" @@ -754,14 +754,14 @@ msgstr "Informazioni Su InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "La produzione deve essere annullata prima di poter essere eliminata" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Consumabile" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "Allocato" msgid "Available" msgstr "Disponibile" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "Disponibile" msgid "Build Order" msgstr "Ordine di Produzione" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "Ordine di Produzione" msgid "Build Orders" msgstr "Ordini di Produzione" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "Scelta non valida per la produzione genitore" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "L'ordine di costruzione della parte non può essere cambiata" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "Riferimento Ordine Di Produzione" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "Riferimento Ordine Di Produzione" msgid "Reference" msgstr "Riferimento" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "Breve descrizione della build (facoltativo)" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Produzione Genitore" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "Ordine di produzione a cui questa produzione viene assegnata" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" msgid "Part" msgstr "Articolo" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "Selezionare parte da produrre" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "Numero di riferimento ordine di vendita" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "Ordine di vendita a cui questa produzione viene assegnata" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Posizione Di Origine" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Seleziona la posizione da cui prelevare la giacenza (lasciare vuoto per prelevare da qualsiasi posizione di magazzino)" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "Posizione Della Destinazione" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "Seleziona il luogo in cui gli articoli completati saranno immagazzinati" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "Quantità Produzione" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "Numero di articoli da costruire" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "Articoli completati" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "Numero di articoli di magazzino che sono stati completati" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "Stato Produzione" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "Codice stato di produzione" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Codice Lotto" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "Codice del lotto per questa produzione" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Data di creazione" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "Data completamento obiettivo" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Data di completamento della produzione. Dopo tale data la produzione sarà in ritardo." -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Data di completamento" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "Completato da" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Rilasciato da" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "Utente che ha emesso questo ordine di costruzione" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "Utente che ha emesso questo ordine di costruzione" msgid "Responsible" msgstr "Responsabile" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "Utente o gruppo responsabile di questo ordine di produzione" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Collegamento esterno" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "Priorità di produzione" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "Priorità di questo ordine di produzione" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "Priorità di questo ordine di produzione" msgid "Project Code" msgstr "Codice del progetto" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "Codice del progetto per questo ordine di produzione" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "L'ordine di produzione {build} è stato completato" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "L'ordine di produzione è stato completato" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "Nessun output di produzione specificato" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "La produzione è stata completata" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "L'output della produzione non corrisponde all'ordine di compilazione" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "La quantità non può essere maggiore della quantità in uscita" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "Crea oggetto" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "Crea oggetto" msgid "Quantity" msgstr "Quantità" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "Quantità richiesta per l'ordine di costruzione" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "L'elemento di compilazione deve specificare un output poiché la parte principale è contrassegnata come rintracciabile" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "La quantità assegnata ({q}) non deve essere maggiore della quantità disponibile ({a})" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "L'articolo in giacenza è sovrallocato" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "La quantità di assegnazione deve essere maggiore di zero" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "La quantità deve essere 1 per lo stock serializzato" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "L'articolo in stock selezionato non corrisponde alla voce nella BOM" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "L'articolo in stock selezionato non corrisponde alla voce nella BOM" msgid "Stock Item" msgstr "Articoli in magazzino" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "Origine giacenza articolo" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "Quantità di magazzino da assegnare per la produzione" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "Installa in" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "Destinazione articolo in giacenza" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "Posizione per gli output di build completati" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "Assegna gli elementi opzionali della distinta base all'ordine di produzi msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "Distinta base (Bom)" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Lo stock non è stato completamente assegnato a questo ordine di produzione" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "Outputs Completati" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "Risorse di magazzino" msgid "Stock can be taken from any available location." msgstr "Lo stock può essere prelevato da qualsiasi posizione disponibile." -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Destinazione" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -2311,7 +2311,7 @@ msgstr "Copia Template Parametri Categoria" msgid "Copy category parameter templates when creating a part" msgstr "Copia i modelli dei parametri categoria quando si crea un articolo" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "Modello" msgid "Parts are templates by default" msgstr "Gli articoli sono modelli per impostazione predefinita" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "Assemblaggio" msgid "Parts can be assembled from other components by default" msgstr "Gli articoli possono essere assemblate da altri componenti per impostazione predefinita" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Componente" @@ -2343,7 +2343,7 @@ msgstr "Componente" msgid "Parts can be used as sub-components by default" msgstr "Gli articoli possono essere assemblati da altri componenti per impostazione predefinita" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "Acquistabile" @@ -2351,7 +2351,7 @@ msgstr "Acquistabile" msgid "Parts are purchaseable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Vendibile" @@ -2360,7 +2360,7 @@ msgstr "Vendibile" msgid "Parts are salable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "Tracciabile" msgid "Parts are trackable by default" msgstr "Gli articoli sono tracciabili per impostazione predefinita" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "Quantità prezzo limite" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "Nome per questa notifica" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "Letto" msgid "Was this news item read?" msgstr "Queste notizie sull'elemento sono state lette?" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "Un dominio vuoto non è consentito." -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Nome dominio non valido: {domain}" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "Indirizzo email" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Articolo di base" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "Valore del parametro" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "Descrizione articolo fornitore" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "Descrizione articolo fornitore" msgid "Note" msgstr "Nota" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "costo base" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "Quantità Confezione" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "multiplo" @@ -4231,10 +4231,10 @@ msgstr "Scarica immagine dall'URL" msgid "Delete image" msgstr "Elimina immagine" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "Cliente" msgid "Uses default currency" msgstr "Valuta predefinita" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "Fornitore articolo in giacenza" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "Crea nuova allocazione magazzino" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "Nuovo Elemento in giacenza" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "Nessun ordine di acquisto corrispondente trovato" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Ordine" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "Ordine D'Acquisto" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "Ordine D'Acquisto" msgid "Return Order" msgstr "Restituisci ordine" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "Prezzo totale dell'ordine" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "Il contatto non corrisponde all'azienda selezionata" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "Descrizione dell'ordine (opzionale)" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "Seleziona il codice del progetto per questo ordine" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "Collegamento a un sito web esterno" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Data prevista per la consegna dell'ordine. L'ordine scadrà dopo questa data." -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "Creato Da" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "Utente o gruppo responsabile di questo ordine" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "Punto di contatto per questo ordine" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "Riferimento ordine" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "Stato ordine d'acquisto" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "Azienda da cui sono stati ordinati gli articoli" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "Riferimento fornitore" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "Codice di riferimento ordine fornitore" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "ricevuto da" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "Data di emissione" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "Data di emissione ordine" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "Data ordine completato" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "Il fornitore dell'articolo deve corrispondere al fornitore dell'ordine di produzione" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "La quantità deve essere un numero positivo" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "Azienda da cui sono stati ordinati gli elementi" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "Riferimento Cliente " -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "Codice di riferimento Ordine del Cliente" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Data di spedizione" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "spedito da" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "Solo un ordine aperto può essere contrassegnato come completo" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "L'ordine non può essere completato in quanto ci sono spedizioni incomplete" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "L'ordine non può essere completato perché ci sono elementi di riga incompleti" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "Quantità Elementi" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "Riferimento Linea Elemento" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "Note linea elemento" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Data di destinazione per questa voce di riga (lasciare vuoto per utilizzare la data di destinazione dall'ordine)" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "Contesto" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "Contesto aggiuntivo per questa voce" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "Prezzo unitario" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "L'articolo del fornitore deve corrispondere al fornitore" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "eliminato" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "Articolo Fornitore" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "Articolo Fornitore" msgid "Received" msgstr "Ricevuto" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "Numero di elementi ricevuti" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "Prezzo di Acquisto" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "Prezzo di acquisto unitario" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "Dove l'Acquirente desidera che questo elemento venga immagazzinato?" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "Un articolo virtuale non può essere assegnato ad un ordine di vendita" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "Solo gli articoli vendibili possono essere assegnati a un ordine di vendita" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Prezzo di Vendita" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "Prezzo unitario di vendita" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Spedito" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "Quantità spedita" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "Data di spedizione" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "Verificato Da" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "Utente che ha controllato questa spedizione" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Spedizione" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "Numero di spedizione" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "Numero di monitoraggio" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "Informazioni di monitoraggio della spedizione" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "Numero Fattura" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "Numero di riferimento per la fattura associata" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "La spedizione è già stata spedita" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "La spedizione non ha articoli di stock assegnati" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "L'elemento di magazzino non è stato assegnato" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "Impossibile allocare l'elemento stock a una linea con un articolo diverso" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "Impossibile allocare stock a una riga senza un articolo" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantità di ripartizione non puo' superare la disponibilità della giacenza" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "La quantità deve essere 1 per l'elemento serializzato" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "L'ordine di vendita non corrisponde alla spedizione" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "La spedizione non corrisponde all'ordine di vendita" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "Linea" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "Riferimento della spedizione ordine di vendita" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "Elemento" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "Seleziona elemento stock da allocare" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "Inserisci la quantità assegnata alla giacenza" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "Seleziona l'elemento da restituire dal cliente" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "Data di ricezione" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Risultati" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5775,12 +5775,12 @@ msgstr "Aggiornato {part} prezzo unitario a {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Aggiornato {part} unità prezzo a {price} e quantità a {qty}" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "Codice Articolo" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Nome Articolo" @@ -5789,20 +5789,20 @@ msgstr "Nome Articolo" msgid "Part Description" msgstr "Descrizione Articolo" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "IPN - Numero di riferimento interno" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Revisione" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Parole Chiave" @@ -5827,11 +5827,11 @@ msgstr "Posizione Predefinita ID" msgid "Default Supplier ID" msgstr "ID Fornitore Predefinito" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variante Di" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Scorta Minima" @@ -5844,12 +5844,12 @@ msgstr "Utilizzato In" msgid "Building" msgstr "In Costruzione" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "Costo Minimo" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "Costo Massimo" @@ -5867,7 +5867,7 @@ msgstr "Nome Principale" msgid "Category Path" msgstr "Percorso Categoria" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "ID Elemento Distinta Base" msgid "Parent IPN" msgstr "IPN Principale" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "IPN Articolo" @@ -5983,7 +5983,7 @@ msgstr "Questa opzione deve essere selezionata" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "Categoria" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Posizione Predefinita" @@ -6010,371 +6010,371 @@ msgstr "Giacenze Totali" msgid "Input quantity for price calculation" msgstr "Digita la quantità per il calcolo del prezzo" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria Articoli" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Categorie Articolo" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "Posizione predefinita per gli articoli di questa categoria" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "Strutturale" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Le parti non possono essere assegnate direttamente a una categoria strutturale, ma possono essere assegnate a categorie subordinate." -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "Keywords predefinite" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "Parole chiave predefinite per gli articoli in questa categoria" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Icona" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "Icona (facoltativa)" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Non puoi rendere principale questa categoria di articoli perché alcuni articoli sono già assegnati!" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "Scelta non valida per l'articolo principale" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "Esiste già un elemento stock con questo numero seriale" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "Non è consentito duplicare IPN nelle impostazioni dell'articolo" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "Un articolo con questo Nome, IPN e Revisione esiste già." -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "Gli articoli non possono essere assegnati a categorie articolo principali!" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "Nome articolo" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "È Template" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "Quest'articolo è un articolo di template?" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "Questa parte è una variante di un altro articolo?" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "Categoria articolo" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "Numero Dell'articolo Interno" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "Numero di revisione o di versione" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "Dove viene normalmente immagazzinato questo articolo?" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Fornitore predefinito" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "Articolo fornitore predefinito" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "Scadenza Predefinita" -#: part/models.py:1036 +#: part/models.py:1027 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:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "Livello minimo di giacenza consentito" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "Unita di misura per questo articolo" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "Questo articolo può essere costruito da altri articoli?" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "Questo articolo può essere utilizzato per costruire altri articoli?" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "Questo articolo ha il tracciamento per gli elementi unici?" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "Quest'articolo può essere acquistato da fornitori esterni?" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "Questo pezzo può essere venduto ai clienti?" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "Quest'articolo è attivo?" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "È una parte virtuale, come un prodotto software o una licenza?" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "Somma di controllo Distinta Base" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "Somma di controllo immagazzinata Distinta Base" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "Distinta Base controllata da" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "Data di verifica Distinta Base" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "Creazione Utente" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "Ultimo Inventario" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "Vendita multipla" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "Valuta utilizzata per calcolare i prezzi" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "Costo Minimo Distinta Base" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "Costo minimo dei componenti dell'articolo" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "Costo Massimo Distinta Base" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "Costo massimo dei componenti dell'articolo" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "Importo Acquisto Minimo" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "Costo minimo di acquisto storico" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "Importo massimo acquisto" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "Costo massimo di acquisto storico" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "Prezzo Interno Minimo" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "Costo minimo basato su interruzioni di prezzo interne" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "Prezzo Interno Massimo" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "Costo massimo basato su interruzioni di prezzo interne" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "Prezzo Minimo Fornitore" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "Prezzo minimo articolo da fornitori esterni" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "Prezzo Massimo Fornitore" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "Prezzo massimo dell'articolo proveniente da fornitori esterni" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "Variazione di costo minimo" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "Costo minimo calcolato di variazione dell'articolo" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "Massima variazione di costo" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "Costo massimo calcolato di variazione dell'articolo" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "Costo minimo totale calcolato" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "Costo massimo totale calcolato" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "Prezzo Di Vendita Minimo" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "Prezzo minimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "Prezzo Di Vendita Massimo" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "Prezzo massimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "Prezzo storico minimo di vendita" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "Prezzo storico massimo di vendita" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "Articolo per l'inventario" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "Contatore Elemento" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "Numero di scorte individuali al momento dell'inventario" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "Totale delle scorte disponibili al momento dell'inventario" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "Totale delle scorte disponibili al momento dell'inventario" msgid "Date" msgstr "Data" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "Data in cui è stato effettuato l'inventario" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "Note aggiuntive" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "Utente che ha eseguito questo inventario" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "Costo Minimo Scorta" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "Costo minimo stimato di magazzino a disposizione" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "Costo Massimo Scorte" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "Costo massimo stimato di magazzino a disposizione" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "File Report Inventario (generato internamente)" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Conteggio Articolo" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "Numero di articoli oggetto d'inventario" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "Utente che ha richiesto questo report inventario" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "Il modello di prova può essere creato solo per gli articoli rintracciabili" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "Nome Test" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "Inserisci un nome per la prova" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "Descrizione Di Prova" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "Inserisci descrizione per questa prova" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Abilitato" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Richiesto" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "Questa prova è necessaria per passare?" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "Valore richiesto" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "Questa prova richiede un valore quando si aggiunge un risultato di prova?" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "Allegato Richiesto" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "Questa prova richiede un file allegato quando si aggiunge un risultato di prova?" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "Il nome del modello del parametro deve essere univoco" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "Nome Parametro" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "Descrizione del parametro" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "Articolo principale" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Modello Parametro" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "Dati" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "Valore del Parametro" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Valore Predefinito" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "Valore Parametro Predefinito" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "ID articolo o nome articolo" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "Valore ID articolo univoco" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "Valore IPN articolo" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "Livello" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "Livello distinta base" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "Seleziona articolo principale" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "Articolo subordinato" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "Seleziona l'articolo da utilizzare nella Distinta Base" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "Quantità Distinta Base per questo elemento Distinta Base" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "Questo elemento della Distinta Base è opzionale" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Questo elemento della Distinta Base è consumabile (non è tracciato negli ordini di produzione)" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Eccedenza" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantità stimata scarti di produzione (assoluta o percentuale)" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "Riferimento Elemento Distinta Base" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "Note Elemento Distinta Base" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "Codice di controllo" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "Codice di controllo Distinta Base" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Convalidato" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Questo elemento della Distinta Base viene ereditato dalle Distinte Base per gli articoli varianti" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Consenti Le Varianti" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Gli elementi in giacenza per gli articoli varianti possono essere utilizzati per questo elemento Distinta Base" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "La quantità deve essere un valore intero per gli articoli rintracciabili" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "L'articolo subordinato deve essere specificato" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "Elemento Distinta Base Sostituito" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "La parte sostituita non può essere la stessa dell'articolo principale" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "Elemento principale Distinta Base" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "Sostituisci l'Articolo" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "Articolo 1" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "Articolo 2" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "Seleziona Prodotto Relativo" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "Non si può creare una relazione tra l'articolo e sé stesso" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "La relazione duplicata esiste già" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "Valuta di acquisto di questo articolo in stock" @@ -7065,11 +7065,11 @@ msgstr "Report Inventario Disponibile" msgid "A new stocktake report is available for download" msgstr "Un nuovo report di inventario è disponibile per il download" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "Notifica di magazzino bassa" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Lo stock disponibile per {part.name} è sceso sotto il livello minimo configurato" @@ -8219,17 +8219,17 @@ msgstr "Metodo" msgid "No author found" msgstr "Nessun autore trovato" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "Il file del modello '{template}' è mancante o non esiste" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "Totale" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "Nome Fornitore" msgid "Customer ID" msgstr "ID Cliente" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Installato In" @@ -8754,7 +8754,7 @@ msgstr "Revisione Necessaria" msgid "Delete on Deplete" msgstr "Elimina al esaurimento" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "I numeri di serie non possono essere forniti per un articolo non tracciabile" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Ubicazione magazzino" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Posizioni magazzino" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Proprietario" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "Seleziona Owner" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Gli elementi di magazzino non possono essere direttamente situati in un magazzino strutturale, ma possono essere situati in ubicazioni secondarie." -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "Esterno" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "Si tratta di una posizione esterna al magazzino" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "Non puoi rendere strutturale questa posizione di magazzino perché alcuni elementi di magazzino sono già posizionati al suo interno!" -#: stock/models.py:643 +#: stock/models.py:640 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:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "Non è possibile creare un elemento di magazzino per articoli virtuali" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "La quantità deve essere 1 per elementi con un numero di serie" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Il numero di serie non può essere impostato se la quantità è maggiore di 1" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "L'elemento non può appartenere a se stesso" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "L'elemento deve avere un riferimento di costruzione se is_building=True" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "Il riferimento di costruzione non punta allo stesso oggetto dell'articolo" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "Elemento di magazzino principale" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "Articolo base" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "Seleziona un fornitore articolo corrispondente per questo elemento di magazzino" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "Dove si trova questo articolo di magazzino?" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "Imballaggio di questo articolo di magazzino è collocato in" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "Questo elemento è stato installato su un altro elemento?" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "Numero di serie per questo elemento" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "Codice lotto per questo elemento di magazzino" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "Quantità disponibile" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "Genera Costruzione" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "Costruisci per questo elemento di magazzino" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "Origina Ordine di Acquisto" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "Ordine d'acquisto per questo articolo in magazzino" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "Destinazione Ordine di Vendita" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Data di scadenza per l'elemento di magazzino. Le scorte saranno considerate scadute dopo questa data" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "Elimina al esaurimento" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "Cancella questo Elemento di Magazzino quando la giacenza è esaurita" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "Prezzo di acquisto unitario al momento dell’acquisto" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "Convertito in articolo" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "L'articolo non è impostato come tracciabile" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "La quantità deve essere un numero intero" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "I numeri di serie devono essere numeri interi" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "La quantità non corrisponde ai numeri di serie" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "Numeri di serie già esistenti" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "L'elemento di magazzino è stato assegnato a un ordine di vendita" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "L'elemento di magazzino è installato in un altro elemento" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "L'elemento di magazzino contiene altri elementi" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "L'elemento di magazzino è stato assegnato a un cliente" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "L'elemento di magazzino è attualmente in produzione" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "Il magazzino serializzato non può essere unito" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "Duplica elementi di magazzino" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo fornitore" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "I codici di stato dello stock devono corrispondere" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "Le giacenze non possono essere spostate perché non disponibili" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "Il numero di serie è troppo grande" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9274,7 +9274,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Sottoallocazioni" @@ -9806,28 +9806,28 @@ msgstr "Non sei nell'elenco dei proprietari di questa posizione. Questa posizion msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "Crea nuova posizione di magazzino" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "Nuova Posizione" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "Permessi per modificare gli elementi" #: users/models.py:413 msgid "Permission to delete items" msgstr "Autorizzazione ad eliminare gli elementi" - diff --git a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po index 0a3a8dbbca..e5be8f5738 100644 --- a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Japanese\n" @@ -52,17 +52,17 @@ msgstr "" msgid "Error details can be found in the admin panel" msgstr "エラーの詳細は管理者パネルで確認できます" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "日付を入力する" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "メールアドレスの確認" msgid "You must type the same email each time." msgstr "毎回同じメールアドレスを入力する必要があります。" -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "指定されたプライマリEメールアドレスは無効です。" -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "指定されたメールドメインは承認されていません。" -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "数量コードが無効です" @@ -171,35 +171,35 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "この値からHTMLタグを削除" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "接続エラー" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "サーバは無効なステータスコードで応答しました" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "例外が発生しました" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "サーバーが無効なContent-Length値で応答しました" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "画像サイズが大きすぎます" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "画像のダウンロードが最大サイズを超えました" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "リモートサーバーが空のレスポンスを返しました" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "指定されたURLは有効な画像ファイルではありません" @@ -415,8 +415,8 @@ msgstr "添付ファイルを選択" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "添付ファイルを選択" msgid "Link" msgstr "リンク" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "外部 サイト へのリンク" @@ -446,8 +446,8 @@ msgstr "ファイルコメント" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "無効な選択です" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "無効な選択です" msgid "Name" msgstr "お名前" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "お名前" msgid "Description" msgstr "説明" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "説明 (オプション)" @@ -593,12 +593,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "メールアドレスが未設定です" msgid "InvenTree system health checks failed" msgstr "InvenTree システムのヘルスチェックに失敗しました" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "" @@ -754,14 +754,14 @@ msgstr "InvenTree について" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "" msgid "Build Order" msgstr "組立注文" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "組立注文" msgid "Build Orders" msgstr "組立注文" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "" msgid "Part" msgstr "パーツ" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "組立状況" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "作成日時" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "外部リンク" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "組立優先度" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "" msgid "Quantity" msgstr "数量" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "" msgid "Stock Item" msgstr "在庫商品" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -2311,7 +2311,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "テンプレート" msgid "Parts are templates by default" msgstr "パーツはデフォルトのテンプレートです" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "アセンブリ" msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "コンポーネント" @@ -2343,7 +2343,7 @@ msgstr "コンポーネント" msgid "Parts can be used as sub-components by default" msgstr "パーツはデフォルトでサブコンポーネントとして使用できます" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "購入可能" @@ -2351,7 +2351,7 @@ msgstr "購入可能" msgid "Parts are purchaseable by default" msgstr "パーツはデフォルトで購入可能です" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "販売可能" @@ -2360,7 +2360,7 @@ msgstr "販売可能" msgid "Parts are salable by default" msgstr "パーツはデフォルトで販売可能です" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "追跡可能" msgid "Parts are trackable by default" msgstr "パーツはデフォルトで追跡可能です" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "連絡先メールアドレス" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "" @@ -4231,10 +4231,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "顧客" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "外部ページへのリンク" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "購入金額" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "発送済み" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5775,12 +5775,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5789,20 +5789,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "キーワード" @@ -5827,11 +5827,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5844,12 +5844,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" @@ -5867,7 +5867,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "" @@ -5983,7 +5983,7 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "カテゴリ" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -6010,371 +6010,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "パーツカテゴリ" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "パーツカテゴリ" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "パーツカテゴリ" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "" @@ -7065,11 +7065,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8219,17 +8219,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8754,7 +8754,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "シリアル番号が既に存在します" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "シリアル番号が大きすぎます" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9274,7 +9274,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" @@ -9806,28 +9806,28 @@ msgstr "" msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "項目を編集する権限" #: users/models.py:413 msgid "Permission to delete items" msgstr "項目を削除する権限" - diff --git a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po index ab6fb8fd6d..7fef1315e7 100644 --- a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Korean\n" @@ -52,17 +52,17 @@ msgstr "" msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "" msgid "You must type the same email each time." msgstr "" -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "" @@ -171,35 +171,35 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "" @@ -415,8 +415,8 @@ msgstr "" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "" @@ -446,8 +446,8 @@ msgstr "" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "" @@ -593,12 +593,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "" @@ -754,14 +754,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -2311,7 +2311,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" @@ -2343,7 +2343,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "" @@ -2351,7 +2351,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" @@ -2360,7 +2360,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "" @@ -4231,10 +4231,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5775,12 +5775,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5789,20 +5789,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5827,11 +5827,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5844,12 +5844,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" @@ -5867,7 +5867,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "" @@ -5983,7 +5983,7 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -6010,371 +6010,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "" @@ -7065,11 +7065,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8219,17 +8219,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8754,7 +8754,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9274,7 +9274,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" @@ -9806,28 +9806,28 @@ msgstr "" msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po index 689d8be75d..8925d9b69f 100644 --- a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:05\n" "Last-Translator: \n" "Language-Team: Latvian\n" @@ -52,17 +52,17 @@ msgstr "" msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "Ievadiet datumu" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "E-pasta adreses apstiprinājums" msgid "You must type the same email each time." msgstr "Katru reizi jāievada viena un tā pati e-pasta adrese." -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "Norādītā primārā e-pasta adrese nav derīga." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "Norādītais e-pasta domēns nav apstiprināts." -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "Reģistrācija ir izslēgta." -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "Norādītais daudzums nav derīgs" @@ -171,35 +171,35 @@ msgstr "Unikālo sērijas numuru skaitam ({len(serials)}) jāatbilst daudzumam ( msgid "Remove HTML tags from this value" msgstr "Noņemiet HTML tagus no šīs vērtības" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "Savienojuma kļūda" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "Serveris atbildēja ar nederīgu statusa kodu" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "Radās izņēmums" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "Serveris atbildēja ar nederīgu Content-Length vērtību" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "Attēla izmērs ir pārāk liels" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "Attēla lejupielāde pārsniedz maksimālo izmēru" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "Attālais serveris atgrieza tukšu atbildi" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "Norādītajā URL nav derīgs attēla fails" @@ -415,8 +415,8 @@ msgstr "" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "" @@ -446,8 +446,8 @@ msgstr "" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "" @@ -593,12 +593,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "" @@ -754,14 +754,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -2311,7 +2311,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" @@ -2343,7 +2343,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "" @@ -2351,7 +2351,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" @@ -2360,7 +2360,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "" @@ -4231,10 +4231,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5775,12 +5775,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5789,20 +5789,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5827,11 +5827,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5844,12 +5844,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" @@ -5867,7 +5867,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "" @@ -5983,7 +5983,7 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -6010,371 +6010,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "" @@ -7065,11 +7065,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8219,17 +8219,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8754,7 +8754,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9274,7 +9274,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" @@ -9806,28 +9806,28 @@ msgstr "" msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po index 755c8dfa59..01e8a62267 100644 --- a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Dutch\n" @@ -52,17 +52,17 @@ msgstr "Ongeldige hoeveelheid ingegeven ({exc})" msgid "Error details can be found in the admin panel" msgstr "Error details kunnen worden gevonden in het admin scherm" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "Voer datum in" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "E-mailadres bevestiging" msgid "You must type the same email each time." msgstr "Er moet hetzelfde e-mailadres ingevoerd worden." -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "Het opgegeven primaire e-mailadres is ongeldig." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "Het ingevoerde e-maildomein is niet goedgekeurd." -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "Registratie is uitgeschakeld." -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "Ongeldige hoeveelheid ingevoerd" @@ -171,35 +171,35 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "Verwijder HTML tags van deze waarde" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "Verbindingsfout" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "Server reageerde met ongeldige statuscode" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "Uitzondering opgetreden" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "Server reageerde met ongeldige Content-Length waarde" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "Afbeeldingsformaat is te groot" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "Beelddownload overschrijdt de maximale grootte" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "Externe server heeft lege reactie teruggegeven" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "Opgegeven URL is geen geldig afbeeldingsbestand" @@ -415,8 +415,8 @@ msgstr "Bestand als bijlage selecteren" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "Bestand als bijlage selecteren" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "Link naar externe URL" @@ -446,8 +446,8 @@ msgstr "Bestand opmerking" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "Ongeldige keuze" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "Ongeldige keuze" msgid "Name" msgstr "Naam" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "Naam" msgid "Description" msgstr "Omschrijving" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "Omschrijving (optioneel)" @@ -593,12 +593,12 @@ msgstr "Serverfout" msgid "An error has been logged by the server." msgstr "Er is een fout gelogd door de server." -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "E-mailbackend niet geconfigureerd" msgid "InvenTree system health checks failed" msgstr "InvenTree gezondsheidschecks mislukt" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "" @@ -754,14 +754,14 @@ msgstr "Over InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Verbruiksartikelen" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "Toegewezen" msgid "Available" msgstr "Beschikbaar" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "Beschikbaar" msgid "Build Order" msgstr "Productieorder" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "Productieorder" msgid "Build Orders" msgstr "Productieorders" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "Ongeldige keuze voor bovenliggende productie" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "Productieorderreferentie" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "Productieorderreferentie" msgid "Reference" msgstr "Referentie" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "Korte beschrijving van de build (optioneel)" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Bovenliggende Productie" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "Productieorder waar deze productie aan is toegewezen" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "Productieorder waar deze productie aan is toegewezen" msgid "Part" msgstr "Onderdeel" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "Selecteer onderdeel om te produceren" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "Verkooporder Referentie" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "Verkooporder waar deze productie aan is toegewezen" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Bronlocatie" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Selecteer de locatie waar de voorraad van de productie vandaan moet komen (laat leeg om vanaf elke standaard locatie te nemen)" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "Bestemmings Locatie" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "Selecteer locatie waar de voltooide items zullen worden opgeslagen" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "Productiehoeveelheid" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "Aantal voorraaditems om te produceren" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "Voltooide voorraadartikelen" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "Aantal voorraadartikelen die zijn voltooid" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "Productiestatus" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "Productiestatuscode" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batchcode" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "Batchcode voor deze productieuitvoer" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Aanmaakdatum" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "Verwachte opleveringsdatum" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Doeldatum voor productie voltooiing. Productie zal achterstallig zijn na deze datum." -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Opleveringsdatum" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "voltooid door" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Uitgegeven door" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "Gebruiker die de productieorder heeft gegeven" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "Gebruiker die de productieorder heeft gegeven" msgid "Responsible" msgstr "Verantwoordelijke" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "Gebruiker of groep verantwoordelijk voor deze bouwopdracht" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Externe Link" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "Bouw prioriteit" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "Prioriteit van deze bouwopdracht" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "Prioriteit van deze bouwopdracht" msgid "Project Code" msgstr "" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "Project code voor deze build order" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Productieorder {build} is voltooid" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "Een productieorder is voltooid" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "Geen productie uitvoer opgegeven" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "Productie uitvoer is al voltooid" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "Productuitvoer komt niet overeen met de Productieorder" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "Hoeveelheid kan niet groter zijn dan aantal" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "Bouw object" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "Bouw object" msgid "Quantity" msgstr "Hoeveelheid" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "Vereiste hoeveelheid voor bouwopdracht" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Productieartikel moet een productieuitvoer specificeren, omdat het hoofdonderdeel gemarkeerd is als traceerbaar" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Toegewezen hoeveelheid ({q}) mag de beschikbare voorraad ({a}) niet overschrijden" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "Voorraad item is te veel toegewezen" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "Toewijzing hoeveelheid moet groter zijn dan nul" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerde voorraad" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "Geselecteerde voorraadartikelen komen niet overeen met de BOM-regel" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "Geselecteerde voorraadartikelen komen niet overeen met de BOM-regel" msgid "Stock Item" msgstr "Voorraadartikel" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "Bron voorraadartikel" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "Voorraad hoeveelheid toe te wijzen aan productie" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "Installeren in" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "Bestemming voorraadartikel" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "Locatie van voltooide productieuitvoeren" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "Alloceer optionele BOM items om bestelling te bouwen" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "Stuklijstartikel" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Voorraad is niet volledig toegewezen aan deze productieorder" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "Voltooide Uitvoeren" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "Voorraadbron" msgid "Stock can be taken from any available location." msgstr "Voorraad kan worden genomen van elke beschikbare locatie." -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Bestemming" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "Geen plug-in gevonden" @@ -2311,7 +2311,7 @@ msgstr "Kopiëer Categorieparameter Sjablonen" msgid "Copy category parameter templates when creating a part" msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "Sjabloon" msgid "Parts are templates by default" msgstr "Onderdelen zijn standaard sjablonen" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "Samenstelling" msgid "Parts can be assembled from other components by default" msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" @@ -2343,7 +2343,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "Koopbaar" @@ -2351,7 +2351,7 @@ msgstr "Koopbaar" msgid "Parts are purchaseable by default" msgstr "Onderdelen kunnen standaard gekocht worden" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Verkoopbaar" @@ -2360,7 +2360,7 @@ msgstr "Verkoopbaar" msgid "Parts are salable by default" msgstr "Onderdelen kunnen standaard verkocht worden" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "Volgbaar" msgid "Parts are trackable by default" msgstr "Onderdelen kunnen standaard gevolgd worden" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "Naam van deze webhook" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "Gelezen" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "Een leeg domein is niet toegestaan." -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Ongeldige domeinnaam: {domain}" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "Contact e-mailadres" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Basis onderdeel" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "Parameterwaarde" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "" msgid "Note" msgstr "Opmerking" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "basisprijs" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimale kosten (bijv. voorraadkosten)" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "meerdere" @@ -4231,10 +4231,10 @@ msgstr "Afbeelding downloaden van URL" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "Klant" msgid "Uses default currency" msgstr "Gebruik standaard valuta" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "Nieuw voorraadartikel aanmaken" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "Nieuw Voorraadartikel" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "Inkooporder" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "Inkooporder" msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "Link naar externe pagina" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Verwachte datum voor levering van de bestelling. De bestelling wordt achterstallig na deze datum." -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "Aangemaakt Door" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "Gebruiker of groep verantwoordelijk voor deze order" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "Orderreferentie" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "Inkooporder status" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "Bedrijf waar de artikelen van worden besteld" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "Leveranciersreferentie" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "Order referentiecode van leverancier" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "ontvangen door" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "Datum van uitgifte" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "Order uitgegeven op datum" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "Order voltooid op datum" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "Onderdeelleverancier moet overeenkomen met de Inkooporderleverancier" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "Hoeveelheid moet een positief getal zijn" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "Bedrijf waaraan de artikelen worden verkocht" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "Klantreferentie " -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "Klant order referentiecode" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Verzenddatum" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "verzonden door" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Bestelling kan niet worden voltooid omdat er onvolledige verzendingen aanwezig zijn" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "Order kan niet worden voltooid omdat er onvolledige artikelen aanwezig zijn" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "Hoeveelheid artikelen" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "Artikelregel referentie" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "Artikel notities" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "Additionele context voor deze regel" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "Stukprijs" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "Leveranciersonderdeel moet overeenkomen met leverancier" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "verwijderd" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "Leveranciersonderdeel" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "Leveranciersonderdeel" msgid "Received" msgstr "Ontvangen" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "Aantal ontvangen artikelen" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "Inkoopprijs" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "Aankoopprijs per stuk" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "Waar wil de inkoper dat dit artikel opgeslagen wordt?" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtueel onderdeel kan niet worden toegewezen aan een verkooporder" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "Alleen verkoopbare onderdelen kunnen aan een verkooporder worden toegewezen" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Verkoopprijs" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "Prijs per stuk" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Verzonden" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "Verzonden hoeveelheid" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "Datum van verzending" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "Gecontroleerd door" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "Gebruiker die deze zending gecontroleerd heeft" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Zending" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "Zendingsnummer" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "Volgnummer" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "Zending volginformatie" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "Factuurnummer" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "Referentienummer voor bijbehorende factuur" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "Verzending is al verzonden" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "Zending heeft geen toegewezen voorraadartikelen" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "Voorraadartikel is niet toegewezen" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "Kan het voorraadartikel niet toewijzen aan een regel met een ander onderdeel" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "Kan voorraad niet toewijzen aan een regel zonder onderdeel" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Toewijzingshoeveelheid kan niet hoger zijn dan de voorraadhoeveelheid" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerd voorraadartikel" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "Verkooporder komt niet overeen met zending" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "Verzending komt niet overeen met verkooporder" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "Regel" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "Verzendreferentie verkooporder" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "Artikel" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "Selecteer voorraadartikel om toe te wijzen" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "Voer voorraadtoewijzingshoeveelheid in" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5775,12 +5775,12 @@ msgstr "{part} stukprijs bijgewerkt naar {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} stukprijs bijgewerkt naar {price} en aantal naar {qty}" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "Onderdeel-id" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Onderdeel naam" @@ -5789,20 +5789,20 @@ msgstr "Onderdeel naam" msgid "Part Description" msgstr "Onderdeel omschrijving" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5827,11 +5827,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5844,12 +5844,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" @@ -5867,7 +5867,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "" @@ -5983,7 +5983,7 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Standaard locatie" @@ -6010,371 +6010,371 @@ msgstr "Totale Voorraad" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Onderdeel Categorie" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Onderdeel Categorieën" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "Standaard locatie voor onderdelen in deze categorie" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Onderdelen mogen niet rechtstreeks aan een structurele categorie worden toegewezen, maar kunnen worden toegewezen aan subcategorieën." -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "Onderdeel naam" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "Onderdeel Categorie" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "Intern Onderdeelnummer" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "Standaardleverancier" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "Eenheden voor dit onderdeel" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "Onderdeel voor voorraadcontrole" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "" msgid "Date" msgstr "Datum" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Aantal onderdelen" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Ingeschakeld" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "De template van de parameter moet uniek zijn" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "Parameternaam" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "Parameterwaarde" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "Standaard Parameter Waarde" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "" @@ -7065,11 +7065,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8219,17 +8219,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "Totaal" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8754,7 +8754,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Voorraadlocatie" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Voorraadlocaties" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "Inkooporder Bron" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "Inkooporder voor dit voorraadartikel" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "Bestemming Verkooporder" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "Voorraadartikel is toegewezen aan een verkooporder" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9274,7 +9274,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Sublocaties" @@ -9806,28 +9806,28 @@ msgstr "U staat niet in de lijst van eigenaars van deze locatie. Deze voorraadlo msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "Maak nieuwe voorraadlocatie" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "Nieuwe Locatie" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po index 0001549987..6f963cb6ac 100644 --- a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Norwegian\n" @@ -52,17 +52,17 @@ msgstr "Ugyldig mengde oppgitt ({exc})" msgid "Error details can be found in the admin panel" msgstr "Feildetaljer kan finnes i admin-panelet" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "Oppgi dato" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "Bekreft e-postaddresse" msgid "You must type the same email each time." msgstr "Du må angi samme e-post hver gang." -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "Den oppgitte primære e-postadressen er ikke gyldig." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "Det oppgitte e-postdomenet er ikke godkjent." -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "Registrering er deaktivert." -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "Ugyldig mengde oppgitt" @@ -171,35 +171,35 @@ msgstr "Antall unike serienumre ({len(serials)}) må samsvare med antallet ({exp msgid "Remove HTML tags from this value" msgstr "Fjern HTML-tagger fra denne verdien" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "Tilkoblingsfeil" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "Serveren svarte med ugyldig statuskode" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "Det har oppstått et unntak" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "Serveren svarte med ugyldig \"Content-Length\"-verdi" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "Bildestørrelsen er for stor" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "Bildenedlasting overskred maksimal størrelse" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "Ekstern server returnerte tomt svar" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "Angitt URL er ikke en gyldig bildefil" @@ -415,8 +415,8 @@ msgstr "Velg fil å legge ved" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "Velg fil å legge ved" msgid "Link" msgstr "Lenke" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "Lenke til ekstern URL" @@ -446,8 +446,8 @@ msgstr "Kommentar til fil" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "Ugyldig valg" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "Ugyldig valg" msgid "Name" msgstr "Navn" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "Navn" msgid "Description" msgstr "Beskrivelse" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "Beskrivelse (valgfritt)" @@ -593,12 +593,12 @@ msgstr "Serverfeil" msgid "An error has been logged by the server." msgstr "En feil har blitt logget av serveren." -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "Må være et gyldig tall" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "E-post backend ikke konfigurert" msgid "InvenTree system health checks failed" msgstr "InvenTree's-systemets helsesjekker mislyktes" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "Ukjent database" @@ -754,14 +754,14 @@ msgstr "Om InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Produksjonen må avbrytes før den kan slettes" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Forbruksvare" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "Tildelt" msgid "Available" msgstr "Tilgjengelig" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "Tilgjengelig" msgid "Build Order" msgstr "Produksjonsordre" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "Produksjonsordre" msgid "Build Orders" msgstr "Produksjonsordrer" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "Ugyldig valg for overordnet produksjon" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "Produksjonsordrens del kan ikke endres" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "Produksjonsordre-referanse" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "Produksjonsordre-referanse" msgid "Reference" msgstr "Referanse" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "Kort beskrivelse av produksjonen (valgfritt)" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Overordnet produksjon" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "Produksjonsordre som denne produksjonen er tildelt" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "Produksjonsordre som denne produksjonen er tildelt" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "Produksjonsordre som denne produksjonen er tildelt" msgid "Part" msgstr "Del" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "Velg del å produsere" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "Salgsordrereferanse" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "Salgsordren denne produksjonen er tildelt til" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Kildeplassering" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Velg plassering å ta lagerbeholdning fra for denne produksjonen (la stå tomt for a ta fra alle lagerplasseringer)" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "Fullført plassering" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "Velg plassering der fullførte artikler vil bli lagret" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "Produksjonsmengde" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "Antall lagervarer å produsere" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "Fullførte artikler" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "Antall lagervarer som er fullført" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "Produksjonsstatus" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "Produksjonsstatuskode" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batchkode" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "Batchkode for denne produksjonsartikkelen" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Opprettelsesdato" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "Forventet sluttdato" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Måldato for ferdigstillelse. Produksjonen vil være forfalt etter denne datoen." -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Fullført dato" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "fullført av" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Utstedt av" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "Brukeren som utstedte denne produksjonsordren" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "Brukeren som utstedte denne produksjonsordren" msgid "Responsible" msgstr "Ansvarlig" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "Bruker eller gruppe ansvarlig for produksjonsordren" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Ekstern lenke" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "Produksjonsprioritet" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "Produksjonsordrens prioritet" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "Produksjonsordrens prioritet" msgid "Project Code" msgstr "Prosjektkode" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "Prosjektkode for denne produksjonsordren" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Produksjonsordre {build} er fullført" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "En produksjonsordre er fullført" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "Ingen produksjonsartikkel spesifisert" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "Produksjonsartikkelen er allerede fullført" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "Produksjonsartikkelen samsvarer ikke med produksjonsordren" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "Kvantitet kan ikke være større enn utgangsantallet" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "Produksjonsobjekt" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "Produksjonsobjekt" msgid "Quantity" msgstr "Antall" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "Påkrevd antall for produksjonsordre" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Produksjonselement må spesifisere en produksjonsartikkel, da master-del er merket som sporbar" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Tildelt antall ({q}) kan ikke overstige tilgjengelig lagerbeholdning ({a})" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "Lagervaren er overtildelt" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "Tildelingsantall må være større enn null" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "Mengden må være 1 for serialisert lagervare" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "Valgt lagervare samsvarer ikke med BOM-linjen" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "Valgt lagervare samsvarer ikke med BOM-linjen" msgid "Stock Item" msgstr "Lagervare" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "Kildelagervare" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "Lagerantall å tildele til produksjonen" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "Monteres i" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "Lagervare for montering" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "Plassering for ferdige produksjonsartikler" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "Tildel valgfrie BOM-artikler til produksjonsordre" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "BOM-artikkel" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Lagerbeholdning er ikke fullt tildelt til denne Produksjonsordren" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "Fullførte byggeresultater" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "Lagerkilde" msgid "Stock can be taken from any available location." msgstr "Lagervare kan hentes fra alle tilgengelige plasseringer." -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Destinasjon" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "Ingen programtillegg" @@ -2311,7 +2311,7 @@ msgstr "Kopier designmaler for kategoriparametere" msgid "Copy category parameter templates when creating a part" msgstr "Kopier parametermaler for kategori ved oppretting av en del" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "Mal" msgid "Parts are templates by default" msgstr "Deler er maler som standard" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "Sammenstilling" msgid "Parts can be assembled from other components by default" msgstr "Deler kan settes sammen fra andre komponenter som standard" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Komponent" @@ -2343,7 +2343,7 @@ msgstr "Komponent" msgid "Parts can be used as sub-components by default" msgstr "Deler kan bli brukt som underkomponenter som standard" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "Kjøpbar" @@ -2351,7 +2351,7 @@ msgstr "Kjøpbar" msgid "Parts are purchaseable by default" msgstr "Deler er kjøpbare som standard" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Salgbar" @@ -2360,7 +2360,7 @@ msgstr "Salgbar" msgid "Parts are salable by default" msgstr "Deler er salgbare som standard" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "Sporbar" msgid "Parts are trackable by default" msgstr "Deler er sporbare som standard" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "Antall for prisbrudd" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "Navn for webhooken" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "Les" msgid "Was this news item read?" msgstr "Er dette nyhetselementet lest?" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "Nøkkelordargumenter" msgid "Task keyword arguments" msgstr "Nøkkelordargumenter for oppgave" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "Et tomt domene er ikke tillatt." -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Ugyldig domenenavn: {domain}" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "Kontakt e-post" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "Fraktnotater for internt bruk" msgid "Link to address information (external)" msgstr "Lenke til adresseinformasjon (ekstern)" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Basisdel" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "Parameterverdi" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "Leverandørens delbeskrivelse" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "Leverandørens delbeskrivelse" msgid "Note" msgstr "Notat" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "grunnkostnad" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimum betaling (f.eks. lageravgift)" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "Pakkeantall" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Totalt antall i en enkelt pakke. La være tom for enkeltenheter." -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "flere" @@ -4231,10 +4231,10 @@ msgstr "Last ned bilde fra URL" msgid "Delete image" msgstr "Slett bilde" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "Kunde" msgid "Uses default currency" msgstr "Bruker standardvaluta" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "Adresser" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "Leverandørs lagerbeholdning" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "Opprett ny lagervare" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "Ny Lagervare" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "Ingen samsvarende innkjøpsordre funnet" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Ordre" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "Innkjøpsordre" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "Innkjøpsordre" msgid "Return Order" msgstr "Returordre" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "Total pris for denne ordren" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "Ordrevaluta" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "Valuta for denne ordren (la stå tom for å bruke firmastandard)" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "Kontakten samsvarer ikke med valgt firma" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "Ordrebeskrivelse (valgfritt)" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "Velg prosjektkode for denne ordren" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "Lenke til ekstern side" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Forventet dato for levering av ordre. Bestillingen vil være forfalt etter denne datoen." -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "Opprettet av" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "Bruker eller gruppe ansvarlig for ordren" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "Kontaktpunkt for denne ordren" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "Selskapsadresse for denne ordren" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "Ordrereferanse" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "Status for innkjøpsordre" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "Firma som varene blir bestilt fra" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "Leverandørreferanse" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "Leverandørens ordrereferanse" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "mottatt av" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "Sendt dato" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "Dato bestillingen ble sendt" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "Dato ordre ble fullført" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "Delleverandør må matche PO-leverandør" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "Mengde må være positiv" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "Firma som varene selges til" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "Kundereferanse " -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "Kundens ordrereferanse" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Forsendelsesdato" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "sendt av" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "Kun en åpen ordre kan merkes som fullført" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Bestillingen kan ikke fullføres da det finnes ufullstendige forsendelser" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "Denne ordren kan ikke fullføres da det fortsatt er ufullstendige artikler" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "Antall" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "Linjereferanse" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "Linjenotater" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Måldato for denne linjen (la stå tomt for å bruke måldatoen fra ordren)" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "Linjeelementbeskrivelse (valgfritt)" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "Kontekst" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "Ytterligere kontekst for denne linjen" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "Enhetspris" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "Delens leverandør må samsvare med leverandør" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "slettet" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "Leverandørdel" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "Leverandørdel" msgid "Received" msgstr "Mottatt" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "Antall enheter mottatt" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "Innkjøpspris" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "Enhet-innkjøpspris" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "Hvor vil innkjøper at artikkelen skal lagres?" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtuell del kan ikke tildeles salgsordre" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "Kun salgbare deler kan tildeles en salgsordre" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Salgspris" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "Enhets-salgspris" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Sendt" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "Sendt antall" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "Dato for forsendelse" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Leveringsdato" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "Dato for levering av forsendelse" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "Sjekket Av" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "Brukeren som sjekket forsendelsen" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Forsendelse" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "Forsendelsesnummer" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "Sporingsnummer" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "Sporingsinformasjon for forsendelse" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "Fakturanummer" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "Referansenummer for tilknyttet faktura" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "Forsendelsen er allerede sendt" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "Forsendelsen har ingen tildelte lagervarer" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "Lagervarer er ikke blitt tildelt" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "Kan ikke tildele lagervare til en linje med annen del" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "Kan ikke tildele lagerbeholdning til en linje uten en del" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tildelingsantall kan ikke overstige tilgjengelig lagerbeholdning" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "Antall må være 1 for serialisert lagervare" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "Salgsordre samsvarer ikke med forsendelse" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "Forsendelsen samsvarer ikke med salgsordre" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "Linje" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "Forsendelsesreferanse for salgsordre" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "Artikkel" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "Velg lagervare å tildele" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "Angi lagertildelingsmengde" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "Returordre-referanse" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "Firmaet delen skal returneres fra" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "Returordrestatus" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "Kun serialiserte artikler kan tilordnes en Returordre" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "Velg artikkel som skal returneres fra kunde" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "Mottatt Dato" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "Datoen denne returartikkelen ble mottatt" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Utfall" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "Utfall for dette linjeelementet" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "Kostnad forbundet med retur eller reparasjon for dette linjeelementet" @@ -5775,12 +5775,12 @@ msgstr "Oppdaterte {part} enhetspris to {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Oppdaterte {part} enhetspris til {price} og antall til {qty}" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "Del-ID" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Delnavn" @@ -5789,20 +5789,20 @@ msgstr "Delnavn" msgid "Part Description" msgstr "Delbeskrivelse" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Revisjon" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Nøkkelord" @@ -5827,11 +5827,11 @@ msgstr "Standard plasserings-ID" msgid "Default Supplier ID" msgstr "Standard leverandør-ID" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variant av" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimal lagerbeholdning" @@ -5844,12 +5844,12 @@ msgstr "Brukt i" msgid "Building" msgstr "Produseres" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "Minimal kostnad" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "Maksimal kostnad" @@ -5867,7 +5867,7 @@ msgstr "Overordnet navn" msgid "Category Path" msgstr "Sti til kategori" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "BOM artikkel-ID" msgid "Parent IPN" msgstr "Overodnet IPN" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "Del -IPN" @@ -5983,7 +5983,7 @@ msgstr "Dette alternativet må være valgt" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "Kategori" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Standard plassering" @@ -6010,371 +6010,371 @@ msgstr "Total lagerbeholdning" msgid "Input quantity for price calculation" msgstr "Sett inn antall for prisberegning" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Delkategori" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Delkategorier" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "Standardplassering for deler i denne kategorien" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "Strukturell" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Deler kan ikke tilordnes direkte til en strukturell kategori, men kan tilordnes til underkategorier." -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "Standard nøkkelord" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "Standard nøkkelord for deler i denne kategorien" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Ikon" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "Ikon (valgfritt)" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Du kan ikke gjøre denne delkategorien strukturell fordi noen deler allerede er tilordnet den!" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "Ugyldig valg for overordnet del" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Delen '{self}' kan ikke brukes i BOM for '{parent}' (rekursiv)" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Delen '{parent}' er brukt i BOM for '{self}' (rekursiv)" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN må samsvare med regex-mønsteret {pattern}" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "Lagervare med dette serienummeret eksisterer allerede" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "Duplikat av internt delnummer er ikke tillatt i delinnstillinger" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "Del med dette Navnet, internt delnummer og Revisjon eksisterer allerede." -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "Deler kan ikke tilordnes strukturelle delkategorier!" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "Delnavn" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "Er Mal" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "Er delen en maldel?" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "Er delen en variant av en annen del?" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "Delbeskrivelse (valgfritt)" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "Del-nøkkelord for å øke synligheten i søkeresultater" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "Delkategori" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "Internt delnummer" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "Delrevisjon eller versjonsnummer" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "Hvor er denne artikkelen vanligvis lagret?" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Standard leverandør" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "Standard leverandørdel" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "Standard utløp" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "Utløpstid (i dager) for lagervarer av denne delen" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "Minimum tillatt lagernivå" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "Måleenheter for denne delen" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "Kan denne delen bygges fra andre deler?" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "Kan denne delen brukes til å bygge andre deler?" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "Har denne delen sporing av unike artikler?" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "Kan denne delen kjøpes inn fra eksterne leverandører?" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "Kan denne delen selges til kunder?" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "Er denne delen aktiv?" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "Er dette en virtuell del, som et softwareprodukt eller en lisens?" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "Kontrollsum for BOM" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "Lagret BOM-kontrollsum" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "Stykkliste sjekket av" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "Stykkliste sjekket dato" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "Opprettingsbruker" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "Eier ansvarlig for denne delen" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "Siste lagertelling" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "Selg flere" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "Valuta som brukes til å bufre prisberegninger" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "Minimal BOM-kostnad" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "Minste kostnad for komponentdeler" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "Maksimal BOM-kostnad" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "Maksimal kostnad for komponentdeler" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "Minimal innkjøpskostnad" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "Minimal historisk innkjøpskostnad" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "Maksimal innkjøpskostnad" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "Maksimal historisk innkjøpskostnad" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "Minimal intern pris" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "Minimal kostnad basert på interne prisbrudd" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "Maksimal intern pris" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "Maksimal kostnad basert på interne prisbrudd" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "Minimal leverandørpris" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "Minimumspris for del fra eksterne leverandører" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "Maksimal leverandørpris" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "Maksimalpris for del fra eksterne leverandører" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "Minimal Variantkostnad" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "Beregnet minimal kostnad for variantdeler" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "Maksimal Variantkostnad" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "Beregnet maksimal kostnad for variantdeler" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "Overstyr minstekostnad" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "Overstyr maksimal kostnad" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "Beregnet samlet minimal kostnad" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "Beregnet samlet maksimal kostnad" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "Minimal salgspris" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "Minimal salgspris basert på prisbrudd" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "Maksimal Salgspris" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "Maksimal salgspris basert på prisbrudd" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "Minimal Salgskostnad" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "Minimal historisk salgspris" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "Maksimal Salgskostnad" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "Maksimal historisk salgspris" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "Del for varetelling" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "Antall" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "Antall individuelle lagerenheter på tidspunkt for varetelling" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling" msgid "Date" msgstr "Dato" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "Dato for utført lagertelling" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "Flere notater" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "Bruker som utførte denne lagertellingen" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "Minimal lagerkostnad" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "Estimert minimal kostnad for lagerbeholdning" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "Maksimal lagerkostnad" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "Estimert maksimal kostnad for lagerbeholdning" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Rapport" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "Lagertellingsrapportfil (generert internt)" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Antall deler" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "Antall deler dekket av varetellingen" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "Bruker som forespurte varetellingsrapporten" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "Valg må være unike" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "Testmaler kan bare bli opprettet for sporbare deler" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "Testnavn" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "Angi et navn for testen" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "Testbeskrivelse" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "Legg inn beskrivelse for denne testen" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Aktivert" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Påkrevd" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "Er det påkrevd at denne testen bestås?" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "Krever verdi" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "Krever denne testen en verdi når det legges til et testresultat?" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "Krever vedlegg" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "Krever denne testen et filvedlegg når du legger inn et testresultat?" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "Valg" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "Sjekkboksparameter kan ikke ha enheter" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "Sjekkboksparameter kan ikke ha valg" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "Navn på parametermal må være unikt" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "Parameternavn" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "Fysisk enheter for denne parameteren" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "Parameterbeskrivelse" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "Sjekkboks" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "Er dette parameteret en sjekkboks?" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "Gyldige valg for denne parameteren (kommaseparert)" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "Ugyldig valg for parameterverdi" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "Overordnet del" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Parametermal" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "Parameterverdi" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Standardverdi" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "Standard Parameterverdi" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "Del-ID eller delnavn" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "Unik del-ID-verdi" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "Delens interne delnummerverdi" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "Nivå" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "BOM-nivå" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "Velg overordnet del" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "Underordnet del" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "Velg del som skal brukes i BOM" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "BOM-antall for denne BOM-artikkelen" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "Denne BOM-artikkelen er valgfri" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Denne BOM-artikkelen er forbruksvare (den spores ikke i produksjonsordrer)" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Svinn" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Forventet produksjonssvinn (absolutt eller prosent)" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "BOM-artikkelreferanse" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "BOM-artikkelnotater" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "Kontrollsum" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "BOM-linje kontrollsum" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Godkjent" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "Denne BOM-artikkelen er godkjent" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "Arves" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Denne BOM-artikkelen er arvet fra stykkliste for variantdeler" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Tillat Varianter" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Lagervarer for variantdeler kan brukes for denne BOM-artikkelen" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "Antall må være heltallsverdi for sporbare deler" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "Underordnet del må angis" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "BOM-artikkel erstatning" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "Erstatningsdel kan ikke være samme som hoveddelen" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "Overordnet BOM-artikkel" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "Erstatningsdel" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "Del 1" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "Del 2" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "Velg relatert del" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "Del-forhold kan ikke opprettes mellom en del og seg selv" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "Duplikatforhold eksisterer allerede" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "Innkjøpsvaluta for lagervaren" @@ -7065,11 +7065,11 @@ msgstr "Lagertellingsrapport tilgjengelig" msgid "A new stocktake report is available for download" msgstr "En ny lagertellingsrapport er tilgjengelig for nedlasting" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "Varsel om lav lagerbeholdning" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Tilgjengelig lagerbeholdning for {part.name} har falt under det konfigurerte minimumsnivået" @@ -8219,17 +8219,17 @@ msgstr "Metode" msgid "No author found" msgstr "Ingen forfatter funnet" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "Utvidensen '{p}' er ikke kompatibel med nåværende InvenTree-versjon {v}" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "Utvidelsen krever minst versjon {v}" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Utvidelsen krever maks versjon {v}" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "Malfil '{template}' mangler eller eksisterer ikke" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "Leverandørnavn" msgid "Customer ID" msgstr "Kunde-ID" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Installert i" @@ -8754,7 +8754,7 @@ msgstr "Gjennomgang kreves" msgid "Delete on Deplete" msgstr "Slett når oppbrukt" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "Leverandørdelen har en pakkestørrelse definert, men flagget \"use_pack msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Serienumre kan ikke angis for en ikke-sporbar del" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "Lagerplasseringstype" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "Lagerplasseringstyper" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "Standard ikom for alle plasseringer som ikke har satt et ikon (valgfritt)" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Lagerplassering" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Lagerplasseringer" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Eier" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "Velg eier" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Lagervarer kan ikke knyttes direkte mot en strukturell lagerplassering, men kan knyttes mot underplasseringer." -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "Ekstern" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "Dette er en ekstern lagerplassering" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "Plasseringstype" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "Lagerplasseringstype for denne plasseringen" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "De kan ikke gjøre denne plasseringen strukturell, da noen lagervarer allerede er plassert i den!" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "Lagervarer kan ikke plasseres i strukturelle plasseringer!" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "Lagervare kan ikke opprettes for virtuelle deler" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "Deltype ('{self.supplier_part.part}') må være {self.part}" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "Antall må være 1 for produkt med et serienummer" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Serienummeret kan ikke angis hvis antall er større enn 1" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "Elementet kan ikke tilhøre seg selv" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "Elementet må ha en produksjonsrefereanse om is_building=True" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "Produksjonsreferanse peker ikke til samme del-objekt" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "Overordnet lagervare" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "Basisdel" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "Velg en tilsvarende leverandørdel for denne lagervaren" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "Hvor er denne lagervaren plassert?" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "Inpakningen denne lagervaren er lagret i" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "Er denne artikkelen montert i en annen artikkel?" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "Serienummer for denne artikkelen" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "Batchkode for denne lagervaren" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "Lagerantall" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "Kildeproduksjon" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "Produksjon for denne lagervaren" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "Brukt av" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "Produksjonsordren som brukte denne lagervaren" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "Kildeinnkjøpsordre" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "Innkjøpsordre for denne lagervaren" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "Tildelt Salgsordre" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Utløpsdato for lagervare. Lagerbeholdning vil bli ansett som utløpt etter denne datoen" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "Slett når oppbrukt" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "Slett lagervaren når beholdningen er oppbrukt" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "Innkjøpspris per enhet på kjøpstidspunktet" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "Konvertert til del" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "Delen er ikke angitt som sporbar" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "Antall må være heltall" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "Antall kan ikke overstige tilgjengelig lagerbeholdning ({self.quantity})" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "Serienumre må være en liste over tall" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "Antallet stemmer ikke overens med serienumrene" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "Seriernummer eksisterer allerede" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "Lagervare har blitt tildelt en salgsordre" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "Lagervare er montert i en annen artikkel" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "Lagervare inneholder andre artikler" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "Lagervare har blitt tildelt til en kunde" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "Lagervare er for tiden i produksjon" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "Serialisert lagerbeholdning kan ikke slås sammen" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "Duplisert lagervare" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "Lagervarer må referere til samme del" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "Lagervarer må referere til samme leverandørdel" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "Lagerstatuskoder må være like" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "Lagervare kan ikke flyttes fordi den ikke er på lager" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "Serienummeret er for høyt" -#: stock/serializers.py:414 +#: stock/serializers.py:439 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:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "Innkjøpspris for denne lagervaren, per enhet eller forpakning" @@ -9274,7 +9274,7 @@ msgstr "Ingen lagervarer valgt" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Underplasseringer" @@ -9806,28 +9806,28 @@ msgstr "Du er ikke i listen over eiere av denne plasseringen. Denne lagerplasser msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "Opprett ny lagerplassering" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "Ny plassering" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "Tillatelse til å endre elementer" #: users/models.py:413 msgid "Permission to delete items" msgstr "Tillatelse til å slette elementer" - diff --git a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po index c96dcf7066..1f2005fd0d 100644 --- a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Polish\n" @@ -52,17 +52,17 @@ msgstr "Niepoprawna ilość ({exc})" msgid "Error details can be found in the admin panel" msgstr "Szczegóły błędu można znaleźć w panelu administracyjnym" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "Wprowadź dane" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "Potwierdzenie adresu email" msgid "You must type the same email each time." msgstr "Należy ponownie wpisać ten sam adres e-mail." -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "Podany podstawowy adres e-mail jest nieprawidłowy." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "Podany e-mail domeny nie został zatwierdzony." -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "Rejestracja jest wyłączona." -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "Podano nieprawidłową ilość" @@ -171,35 +171,35 @@ msgstr "Liczba unikalnych numerów seryjnych ({len(serials)}) musi odpowiadać i msgid "Remove HTML tags from this value" msgstr "Usuń znaczniki HTML z tej wartości" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "Błąd połączenia" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "Serwer odpowiedział z nieprawidłowym kodem statusu" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "Wystąpił wyjątek" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "Serwer odpowiedział z nieprawidłową wartością Content-Length" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "Rozmiar obrazu jest zbyt duży" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "Przekroczono maksymalny rozmiar pobieranego obrazu" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "Zdalny serwer zwrócił pustą odpowiedź" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "Podany adres URL nie jest poprawnym plikiem obrazu" @@ -415,8 +415,8 @@ msgstr "Wybierz plik do załączenia" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "Wybierz plik do załączenia" msgid "Link" msgstr "Łącze" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" @@ -446,8 +446,8 @@ msgstr "Komentarz pliku" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "Błędny wybór" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "Błędny wybór" msgid "Name" msgstr "Nazwa" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "Nazwa" msgid "Description" msgstr "Opis" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "Opis (opcjonalny)" @@ -593,12 +593,12 @@ msgstr "Błąd serwera" msgid "An error has been logged by the server." msgstr "Błąd został zapisany w logach serwera." -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "Nie skonfigurowano backendu e-mail" msgid "InvenTree system health checks failed" msgstr "Sprawdzanie poziomu zdrowia InvenTree nie powiodło się" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "Nieznana baza danych" @@ -754,14 +754,14 @@ msgstr "O InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Kompilacja musi zostać anulowana, zanim będzie mogła zostać usunięta" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Materiał eksploatacyjny" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "Przydzielono" msgid "Available" msgstr "Dostępne" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "Dostępne" msgid "Build Order" msgstr "Zlecenie Budowy" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "Zlecenie Budowy" msgid "Build Orders" msgstr "Zlecenia budowy" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "Nieprawidłowy wybór kompilacji nadrzędnej" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "Nie można zmienić elementu kompletacji" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "Odwołanie do zamówienia wykonania" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "Odwołanie do zamówienia wykonania" msgid "Reference" msgstr "Referencja" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "Krótki opis produkcji (opcjonalny)" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Budowa nadrzędna" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "Zamówienie budowy, do którego budowa jest przypisana" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" msgid "Part" msgstr "Komponent" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "Wybierz część do budowy" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "Odwołanie do zamówienia sprzedaży" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "Zamówienie sprzedaży, do którego budowa jest przypisana" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Lokalizacja źródła" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Wybierz lokalizację, z której pobrać element do budowy (pozostaw puste, aby wziąć z dowolnej lokalizacji)" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "Lokalizacja docelowa" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "Wybierz lokalizację, w której będą przechowywane ukończone elementy" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "Ilość do stworzenia" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "Ilość przedmiotów do zbudowania" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "Ukończone elementy" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "Ilość produktów magazynowych które zostały ukończone" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "Status budowania" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "Kod statusu budowania" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Kod partii" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Data utworzenia" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "Docelowy termin zakończenia" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Docelowa data zakończenia kompilacji. Po tej dacie kompilacja będzie zaległa." -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Data zakończenia" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "zrealizowane przez" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Wydany przez" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "Użytkownik, który wydał to zamówienie" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "Użytkownik, który wydał to zamówienie" msgid "Responsible" msgstr "Odpowiedzialny" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "Użytkownik lub grupa odpowiedzialna za te zlecenie produkcji" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Link Zewnętrzny" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "Priorytet budowy" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "Priorytet tego zamówienia produkcji" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "Priorytet tego zamówienia produkcji" msgid "Project Code" msgstr "Kod projektu" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "Kod projektu dla tego zlecenia produkcji" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Kolejność kompilacji {build} została zakończona" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "Kolejność kompilacji została zakończona" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "Nie określono danych wyjściowych budowy" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "Budowanie wyjścia jest już ukończone" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "Skompilowane dane wyjściowe nie pasują do kolejności kompilacji" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "Ilość nie może być większa niż ilość wyjściowa" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Wyjście budowy {serial} nie przeszło wszystkich testów" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "Zbuduj obiekt" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "Zbuduj obiekt" msgid "Quantity" msgstr "Ilość" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "Wymagana ilość dla zlecenia produkcji" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "Pozycja magazynowa jest nadmiernie przydzielona" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "Alokowana ilość musi być większa niż zero" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "Ilość musi wynosić 1 dla serializowanych zasobów" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "Wybrana pozycja magazynowa nie pasuje do pozycji w zestawieniu BOM" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "Wybrana pozycja magazynowa nie pasuje do pozycji w zestawieniu BOM" msgid "Stock Item" msgstr "Element magazynowy" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "Lokalizacja magazynowania przedmiotu" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "Ilość zapasów do przydzielenia do produkcji" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "Zainstaluj do" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "Docelowa lokalizacja magazynowa przedmiotu" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "Element BOM" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "Źródło magazynu" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Przeznaczenie" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "Brak wtyczki" @@ -2311,7 +2311,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "Szablon" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "Złożenie" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Komponent" @@ -2343,7 +2343,7 @@ msgstr "Komponent" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "Możliwość zakupu" @@ -2351,7 +2351,7 @@ msgstr "Możliwość zakupu" msgid "Parts are purchaseable by default" msgstr "Części są domyślnie z możliwością zakupu" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Możliwość sprzedaży" @@ -2360,7 +2360,7 @@ msgstr "Możliwość sprzedaży" msgid "Parts are salable by default" msgstr "Części są domyślnie z możliwością sprzedaży" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "Możliwość śledzenia" msgid "Parts are trackable by default" msgstr "Części są domyślnie z możliwością śledzenia" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "Pusta domena nie jest dozwolona." -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Niepoprawna nazwa domeny: {domain}" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "Kontaktowy adres e-mail" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Część bazowa" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "" msgid "Note" msgstr "Uwaga" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "koszt podstawowy" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "wielokrotność" @@ -4231,10 +4231,10 @@ msgstr "Pobierz obraz z adresu URL" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "Klient" msgid "Uses default currency" msgstr "Używa domyślnej waluty" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "Utwórz nowy towar" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "Nowy towar" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "Nie znaleziono pasującego zlecenia zakupu" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Zamówienie" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "Zlecenie zakupu" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "Zlecenie zakupu" msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "Link do zewnętrznej witryny" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "Utworzony przez" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "Odniesienie zamówienia" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "Status zamówienia zakupu" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "odebrane przez" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "Data wydania" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "Data wystawienia zamówienia" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "Wartość musi być liczbą dodatnią" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Data wysyłki" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "wysłane przez" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "Ilość elementów" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "" msgid "Received" msgstr "Odebrane" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "Cena zakupu" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "Cena zakupu jednostkowego" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "Gdzie kupujący chce przechowywać ten przedmiot?" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Cena sprzedaży" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "Jednostkowa cena sprzedaży" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Wysłane" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "Wysłana ilość" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "Data wysyłki" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "Sprawdzone przez" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "Użytkownik, który sprawdził tę wysyłkę" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Przesyłka" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "Numer przesyłki" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "Numer śledzenia" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "Informacje o śledzeniu przesyłki" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "Przesyłka została już wysłana" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "Linia" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "Komponent" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5775,12 +5775,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "ID komponentu" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Nazwa komponentu" @@ -5789,20 +5789,20 @@ msgstr "Nazwa komponentu" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Wersja" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Słowa kluczowe" @@ -5827,11 +5827,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Wariant" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimalny stan magazynowy" @@ -5844,12 +5844,12 @@ msgstr "Użyte w" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" @@ -5867,7 +5867,7 @@ msgstr "" msgid "Category Path" msgstr "Ścieżka kategorii" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "IPN komponentu" @@ -5983,7 +5983,7 @@ msgstr "Ta opcja musi być zaznaczona" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "Kategoria" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Domyślna lokalizacja" @@ -6010,371 +6010,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Kategoria komponentu" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Kategorie części" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "Domyślna lokalizacja dla komponentów w tej kategorii" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "Domyślne słowa kluczowe" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "Nieprawidłowy wybór dla części nadrzędnej" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "Nazwa komponentu" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "Czy szablon" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "Czy ta część stanowi szablon części?" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "Czy ta część jest wariantem innej części?" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "Domyślne wygasanie" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "Czy ten komponent może być zbudowany z innych komponentów?" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "Czy ta część może być użyta do budowy innych części?" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "Czy ta część wymaga śledzenia każdego towaru z osobna?" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "Czy ta część jest aktywna?" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "Czy to wirtualna część, taka jak oprogramowanie lub licencja?" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "Tworzenie użytkownika" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "Ostatnia inwentaryzacja" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "Sprzedaj wiele" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "" msgid "Date" msgstr "Data" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "Nazwa testu" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "Testowy opis" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "Wprowadź opis do tego testu" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Aktywne" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Wymagane" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "Wymaga wartości" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "Wymaga załącznika" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "Część nadrzędna" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "Dane" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "Wartość parametru" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Wartość domyślna" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "Unikalny wartość ID komponentu" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "Wartość IPN części" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "Poziom" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "Wybierz część nadrzędną" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "Podczęść" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "Ten element BOM jest opcjonalny" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "Notatki pozycji BOM" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "Suma kontrolna" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Zatwierdzone" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Zezwalaj na warianty" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "Część zastępcza" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "Część 1" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "Część 2" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "Wybierz powiązaną część" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "Waluta zakupu tego towaru" @@ -7065,11 +7065,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8219,17 +8219,17 @@ msgstr "Metoda" msgid "No author found" msgstr "Nie znaleziono autora" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "Plik szablonu '{template}' jest brakujący lub nie istnieje" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "Razem" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Zainstalowane w" @@ -8754,7 +8754,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Lokacje stanu magazynowego" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Właściciel" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "Wybierz właściciela" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "Nadrzędny towar" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "Część podstawowa" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "Wybierz pasującą część dostawcy dla tego towaru" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "Ilość w magazynie" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "Wyszukaj zlecenie zakupu" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "Zlecenie zakupu dla tego towaru" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "Usuń po wyczerpaniu" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "Ilość musi być liczbą całkowitą" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "Numer seryjny już istnieje" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9274,7 +9274,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Podlokalizacje" @@ -9806,28 +9806,28 @@ msgstr "" msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "Nowa lokalizacja" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "Uprawnienie do edycji przedmiotów" #: users/models.py:413 msgid "Permission to delete items" msgstr "Uprawnienie do usuwania przedmiotów" - diff --git a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po index e066ce1e6b..23d5cffddd 100644 --- a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:05\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" @@ -52,17 +52,17 @@ msgstr "" msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "" msgid "You must type the same email each time." msgstr "" -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "" @@ -171,35 +171,35 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "" @@ -415,8 +415,8 @@ msgstr "" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "" @@ -446,8 +446,8 @@ msgstr "" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "" @@ -593,12 +593,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "" @@ -754,14 +754,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -2311,7 +2311,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" @@ -2343,7 +2343,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "" @@ -2351,7 +2351,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" @@ -2360,7 +2360,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "" @@ -4231,10 +4231,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5775,12 +5775,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5789,20 +5789,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5827,11 +5827,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5844,12 +5844,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" @@ -5867,7 +5867,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "" @@ -5983,7 +5983,7 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -6010,371 +6010,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "" @@ -7065,11 +7065,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8219,17 +8219,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8754,7 +8754,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9274,7 +9274,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" @@ -9806,28 +9806,28 @@ msgstr "" msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po index 686d6824f5..7bded0f5c5 100644 --- a/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:05\n" "Last-Translator: \n" "Language-Team: Romanian\n" @@ -52,17 +52,17 @@ msgstr "" msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "" msgid "You must type the same email each time." msgstr "" -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "" @@ -171,35 +171,35 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "" @@ -415,8 +415,8 @@ msgstr "" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "" @@ -446,8 +446,8 @@ msgstr "" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "" @@ -593,12 +593,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "" @@ -754,14 +754,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -2311,7 +2311,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" @@ -2343,7 +2343,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "" @@ -2351,7 +2351,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" @@ -2360,7 +2360,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "" @@ -4231,10 +4231,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5775,12 +5775,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5789,20 +5789,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5827,11 +5827,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5844,12 +5844,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" @@ -5867,7 +5867,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "" @@ -5983,7 +5983,7 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -6010,371 +6010,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "" @@ -7065,11 +7065,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8219,17 +8219,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8754,7 +8754,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9274,7 +9274,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" @@ -9806,28 +9806,28 @@ msgstr "" msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po index 0c8ff53bc2..d2ad56bf70 100644 --- a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Russian\n" @@ -52,17 +52,17 @@ msgstr "Недопустимое количество ({exc})" msgid "Error details can be found in the admin panel" msgstr "Подробности об ошибке можно найти в панели администратора" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "Введите дату" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "Подтверждение адреса электронной почт msgid "You must type the same email each time." msgstr "Вы должны вводить один и тот же адрес электронной почты." -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "Указанный основной адрес электронной почты неверен." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "Указанный домен электронной почты не утверждён." -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "Регистрация отключена." -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "недопустимое количество" @@ -171,35 +171,35 @@ msgstr "Число уникальных серийных номеров ({s}) д msgid "Remove HTML tags from this value" msgstr "Удалить HTML теги из этого значения" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "Ошибка соединения" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "Сервер ответил неверным кодом статуса" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "Произошло исключение" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "Сервер ответил неверным значением Контент-Длина" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "Изображение слишком большое" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "Загрузка изображения превышен максимальный размер" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "Удаленный сервер вернул пустой ответ" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "Предоставленный URL не является допустимым файлом изображения" @@ -415,8 +415,8 @@ msgstr "Выберите файл для вложения" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "Выберите файл для вложения" msgid "Link" msgstr "Ссылка" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "Ссылка на внешний URL" @@ -446,8 +446,8 @@ msgstr "Комментарий к файлу" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "Неверный выбор" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "Неверный выбор" msgid "Name" msgstr "Название" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "Название" msgid "Description" msgstr "Описание" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "Описание (необязательно)" @@ -593,12 +593,12 @@ msgstr "Ошибка сервера" msgid "An error has been logged by the server." msgstr "Сервер зарегистрировал ошибку." -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "Должно быть действительным номером" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "Сервер электронной почты не настроен" msgid "InvenTree system health checks failed" msgstr "Ошибка проверки состояния системы InvenTree" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "Неизвестная база данных" @@ -754,14 +754,14 @@ msgstr "О программе InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Заказ на производство должен быть отменен перед удалением" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Расходники" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "Зарезервировано" msgid "Available" msgstr "Доступно" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "Доступно" msgid "Build Order" msgstr "Заказ на производство" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "Заказ на производство" msgid "Build Orders" msgstr "Заказы на производство" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "Неверный выбор для родительской сборки" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "Должен быть указан ответственный пользователь или группа" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "Деталь заказа на производства не может быть изменена" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "Ссылка на заказ на производство" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "Ссылка на заказ на производство" msgid "Reference" msgstr "Отсылка" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "Краткое описание заказа на производство (необязательно)" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Родительский заказ на производство" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "Заказ на производство, которому принадлежит этот заказ на производство" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "Заказ на производство, которому принад #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "Заказ на производство, которому принад msgid "Part" msgstr "Деталь" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "Выберите деталь для производства" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "Ссылка на заказ" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "Заказ на продажу, которому принадлежит этот заказ на производство" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Место хранения - источник" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Выберите место хранения для этого заказа на производство (оставьте пустым, чтобы взять с любого места на складе)" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "Место хранения результата" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "Выберите место хранения завершенных элементов" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "Количество производимых деталей" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "Количество складских позиций для производства" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "Произведенные детали" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "Количество складских позиций, которые были произведены" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "Статус заказа на производство" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "Код статуса заказа на производство" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Код партии" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "Код партии для продукции" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Дата создания" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "Целевая дата завершения" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Целевая дата для заказа на производства. Заказ будет просрочен после этой даты." -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Дата завершения" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "выполнено" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Создано" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "Пользователь, создавший этот заказ на производство" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "Пользователь, создавший этот заказ на п msgid "Responsible" msgstr "Ответственный" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "Пользователь, ответственный за этот заказ на производство" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Внешняя ссылка" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "Приоритет производства" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "Приоритет этого заказа на производство" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "Приоритет этого заказа на производство msgid "Project Code" msgstr "Код проекта" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "Код проекта для этого заказа на производство" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "Не удалось выгрузить задачу для распределения на сборку" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Заказ на производство {build} был завершен" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "Заказ на производство был завершен" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "Продукция не указана" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "Продукция уже произведена" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "Продукция не совпадает с заказом на производство" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "Количество не может быть больше количества продукции" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Сборка {serial} не прошла все необходимые тесты" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "Объект производства" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "Объект производства" msgid "Quantity" msgstr "Количество" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "Требуемое количество для заказа на производство" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Элемент производства должен указать продукцию, как главную деталь помеченную как отслеживаемая" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Резервируемое количество ({q}) не должно превышать доступное количество на складе ({a})" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "Складская позиция перераспределена" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "Резервируемое количество должно быть больше нуля" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "Количество должно быть 1 для сериализованных запасов" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "Выбранная складская позиция не соответствует позиции в BOM" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "Выбранная складская позиция не соответ msgid "Stock Item" msgstr "Складская позиция" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "Исходная складская позиция" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "Количество на складе для производства" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "Установить в" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "Целевая складская позиция" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "Место хранения для завершенной продукции" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "Зарезервировать необязательные позици msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "Позиция BOM" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Остатки не были полностью зарезервированы для этого заказа на производство" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "Завершенная продукция" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "Источник запаса" msgid "Stock can be taken from any available location." msgstr "Остатки не могут быть получены из любого доступного места хранения." -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Назначение" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "Нет плагина" @@ -2311,7 +2311,7 @@ msgstr "Скопировать параметры по шаблону катег msgid "Copy category parameter templates when creating a part" msgstr "Копировать параметры по шаблону категории при создании детали" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "Шаблон" msgid "Parts are templates by default" msgstr "По умолчанию детали являются шаблонами" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "Производимая деталь" msgid "Parts can be assembled from other components by default" msgstr "По умолчанию детали могут быть собраны из других компонентов" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Компонент" @@ -2343,7 +2343,7 @@ msgstr "Компонент" msgid "Parts can be used as sub-components by default" msgstr "По умолчанию детали могут использоваться в качестве суб-компонентов" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "Можно купить" @@ -2351,7 +2351,7 @@ msgstr "Можно купить" msgid "Parts are purchaseable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Можно продавать" @@ -2360,7 +2360,7 @@ msgstr "Можно продавать" msgid "Parts are salable by default" msgstr "Детали продаются по умолчанию" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "Отслеживание" msgid "Parts are trackable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "Читать" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "Пустой домен не допускается." -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Недопустимое доменное имя: {domain}" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "Контактный EMail" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "Записи отправления для внутреннего пол msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Базовая деталь" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "Значение параметра" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "" msgid "Note" msgstr "Запись" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "базовая стоимость" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "Кол-во в упаковке" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "множественные" @@ -4231,10 +4231,10 @@ msgstr "Скачать изображение по ссылке" msgid "Delete image" msgstr "Удалить изображение" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "Покупатель" msgid "Uses default currency" msgstr "Использовать валюту по умолчанию" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "Адреса" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "Создать новую складскую позицию" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "Новая складская позиция" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "Имеет цену" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Заказ" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "Заказ на закупку" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "Заказ на закупку" msgid "Return Order" msgstr "Заказ на возврат" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "Валюта Заказа" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "Контакт не соответствует выбранной компании" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "Описание заказа (дополнительно)" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "Выберите код проекта для этого заказа" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "Создал" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "Пользователь или группа, ответственная за этот заказ" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "Ссылка на заказ" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "Компания, в которой детали заказываются" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "получил" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "Дата создания" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "Компания, которой детали продаются" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Дата отгрузки" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "Отправлено" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "Количество" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "Записи о позиции" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "Описание позиции (необязательно)" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "Контекст" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "Дополнительный контекст для этой строки" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "Цена за единицу" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "удалено" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "Деталь поставщика" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "Деталь поставщика" msgid "Received" msgstr "Получено" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "Закупочная цена" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Цена продажи" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "Цена последней продажи" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Доставлено" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "Отгруженное кол-во" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "Дата отправления" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Дата доставки" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "Проверн" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Отправление" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "Номер отправления" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "Номер отслеживания" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "Информация об отслеживании доставки" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "Номер счета" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "Отправка не имеет зарезервированных складских позиций" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "Складская позиция не была назначена" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "Невозможно зарезервировать складскую позицию в позицию другой детали" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "Количество должно быть 1 для сериализированных складских позиций" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "Строка" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "Элемент" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "Выберите складскую позицию для резервирования" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "Укажите резервируемое количество" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "Выберите позицию, возвращаемую от клиента" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "Дата получения" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Результат" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5775,12 +5775,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "Код детали" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Наименование детали" @@ -5789,20 +5789,20 @@ msgstr "Наименование детали" msgid "Part Description" msgstr "Описание детали" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Ревизия" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Ключевые слова" @@ -5827,11 +5827,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Разновидность" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Минимальный запас" @@ -5844,12 +5844,12 @@ msgstr "Используется в" msgid "Building" msgstr "Производится" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "Минимальная Стоимость" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "Максимальная Стоимость" @@ -5867,7 +5867,7 @@ msgstr "Имя родителя" msgid "Category Path" msgstr "Путь к категории" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "ID Элемента BOM" msgid "Parent IPN" msgstr "Родительский IPN" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "IPN детали" @@ -5983,7 +5983,7 @@ msgstr "Необходимо выбрать эту опцию" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "Категория" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Место хранения по умолчанию" @@ -6010,371 +6010,371 @@ msgstr "Общий запас" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Категория детали" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Категория детали" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "Место хранения по умолчанию для деталей этой категории" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "Структура" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Детали не могут быть непосредственно отнесены к структурной категории, но могут быть отнесены к дочерним категориям." -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "Ключевые слова по умолчанию" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "Ключевые слова по умолчанию для деталей этой категории" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Иконка" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "Иконка (необязательно)" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "Складская позиция с этим серийным номером уже существует" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "Наименование детали" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "Шаблон" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "Эта деталь является шаблоном?" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "Эта деталь является разновидностью другой детали?" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "Описание детали (необязательно)" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "Ключевые слова для улучшения видимости в результатах поиска" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "Категория" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "Внутренний код детали" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "Ревизия или серийный номер детали" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "Где обычно хранится эта деталь?" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Поставщик по умолчанию" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "Срок действия по умолчанию" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "Срок годности (в днях) для складских позиций этой детали" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "Минимально допустимый складской запас" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "Единицы измерения этой детали" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "Может ли эта деталь быть создана из других деталей?" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "Может ли эта деталь использоваться для создания других деталей?" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "Является ли каждый экземпляр этой детали уникальным, обладающим серийным номером?" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "Может ли эта деталь быть закуплена у внешних поставщиков?" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "Может ли эта деталь быть продана покупателям?" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "Эта деталь активна?" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "Эта деталь виртуальная, как программный продукт или лицензия?" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "Контрольная сумма BOM" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "BOM проверил" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "Дата проверки BOM" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "Создатель" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "Последняя инвентаризация" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "Продать несколько" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "Минимальная Стоимость BOM" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "Максимальная Стоимость BOM" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "Количество Элементов" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "" msgid "Date" msgstr "Дата" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "Дополнительные Записи" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Отчет" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Количество Деталей" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "Шаблоны тестирования могут быть созданы только для отслеживаемых деталей" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "Название теста" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "Введите имя для теста" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "Описание теста" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "Введите описание для этого теста" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Включено" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Требуется" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "Требуется значение" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "Варианты" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "Название параметра" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "Чекбокс" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "Родительская деталь" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Шаблон параметра" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "Данные" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "Значение Параметра" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Значение по умолчанию" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "Код или наименование детали" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "Значение IPN" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "Уровень" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "Уровень BOM" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "Выберите родительскую деталь" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "Суб-деталь" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "Выбрать деталь для использования в BOM" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Эта позиция - расходник. (она не отслеживается в заказах на производство)" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Перерасход" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Расчетное количество перерасходов производства (абсолютное или процентное)" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "Записи о позиции BOM" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "Контрольная сумма" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Проверен" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Разрешить разновидности" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Складские позиции для разновидностей деталей могут быть использованы для этой позиции BOM" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "Для отслеживаемых деталей количество должно быть целым числом" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "Позиция BOM-родителя" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "Замена детали" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "Часть 1" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "Часть 2" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "Выберите связанную часть" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "Валюта закупки складской позиции" @@ -7065,11 +7065,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8219,17 +8219,17 @@ msgstr "Метод" msgid "No author found" msgstr "Автор не найден" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "Правовая информация" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "Письмо" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "Всего" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "Имя поставщика" msgid "Customer ID" msgstr "ID Клиента" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Установлено в" @@ -8754,7 +8754,7 @@ msgstr "Требуется рецензия" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Место хранения" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Места хранения" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Владелец" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "Выберите владельца" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Складские позиции не могут находиться в структурных местах хранения, но могут находиться в дочерних местах хранения." -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "Внешний" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "Тип Места Хранения" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "Вы не можете сделать это место хранение структурным, потому, что некоторые складские позиции уже находятся в нем!" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "Складские позиции не могут находиться в структурных местах хранения!" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "Складская позиция не может быть создана для виртуальных деталей" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "Элемент должен иметь ссылку на производство, если is_building=True" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "Ссылка на производство не указывает на тот же элемент" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "Складская позиция" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "Базовая деталь" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "Выберите соответствующего поставщика детали для этой складской позиции" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "Где находиться эта складская позиция?" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "Упаковка этой складской позиции хранится в" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "Код партии для этой складской позиции" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "Количество на складе" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "Исходное производство" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "Производства для этой складской позиции" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "Поглощен" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "Заказ на производство, который поглотил эту складскую позицию" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "Заказ на закупку для этой складской позиции" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Дата истечения срока годности для складской позиции. Остатки будут считаться просроченными после этой даты" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "Удалить при обнулении" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "Удалить эту складскую позицию при обнулении складского запаса" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "Деталь не является отслеживаемой" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "Серийные номера уже существуют" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "Складская позиция была назначена заказу на продажу" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "Складская позиция установлена в другую деталь" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "Складская позиция содержит другие детали" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "Складская позиция была назначена покупателю" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "Складская позиция в производстве" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "Складские позиции должны ссылаться на одну и ту же деталь" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "Складские позиции должны ссылаться на одну и ту же деталь поставщика" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "Закупочная цена для этой складской позиции, за единицу или за упаковку" @@ -9274,7 +9274,7 @@ msgstr "Не выбрано ни одной складской позиции" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Места хранения" @@ -9806,28 +9806,28 @@ msgstr "" msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "Создать новое место хранения" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "Новое место хранения" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "места хранения" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "Разрешение на редактирование элементо #: users/models.py:413 msgid "Permission to delete items" msgstr "Разрешение на удаление элементов" - diff --git a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po index 9e8fe41c3e..577e043907 100644 --- a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Slovak\n" @@ -52,17 +52,17 @@ msgstr "" msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "" msgid "You must type the same email each time." msgstr "" -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "" @@ -171,35 +171,35 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "" @@ -415,8 +415,8 @@ msgstr "" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "" @@ -446,8 +446,8 @@ msgstr "" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "" @@ -593,12 +593,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "" @@ -754,14 +754,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -2311,7 +2311,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" @@ -2343,7 +2343,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "" @@ -2351,7 +2351,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" @@ -2360,7 +2360,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "" @@ -4231,10 +4231,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5775,12 +5775,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5789,20 +5789,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5827,11 +5827,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5844,12 +5844,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" @@ -5867,7 +5867,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "" @@ -5983,7 +5983,7 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -6010,371 +6010,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "" @@ -7065,11 +7065,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8219,17 +8219,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8754,7 +8754,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9274,7 +9274,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" @@ -9806,28 +9806,28 @@ msgstr "" msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po index 9bec0d6509..eb69784793 100644 --- a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Slovenian\n" @@ -52,17 +52,17 @@ msgstr "Vnesena napačna količina ({exc})" msgid "Error details can be found in the admin panel" msgstr "Podrobnosti napake so vidne v pogledu administratorja" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "Vnesi datum" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "Potrdite e-pošto" msgid "You must type the same email each time." msgstr "E-pošti se morata ujemati" -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "Podana epošta ni veljavna." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "Domena epošte ni podprta." -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "Registracija je onemogočena." -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "Podana napačna količina" @@ -171,35 +171,35 @@ msgstr "Število unikatnih serijskih številk ({len(serials)}) se mora ujemati s msgid "Remove HTML tags from this value" msgstr "Odstranite oznako HTML iz te vrednosti" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "Napaka povezave" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "Odziv serverja: napravilni status kode" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "Pojavila se je izjema" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "Odziv serverja: napačna dolžina vrednosti" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "Prevelika velikost slike" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "Prenos slike presegel največjo velikost" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "Oddaljeni server vrnil prazen odziv" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "Podani URL ni veljavna slikovna datoteka" @@ -415,8 +415,8 @@ msgstr "Izberite prilogo" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "Izberite prilogo" msgid "Link" msgstr "Povezava" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "Zunanja povezava" @@ -446,8 +446,8 @@ msgstr "Komentar datoteke" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "Nedovoljena izbira" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "Nedovoljena izbira" msgid "Name" msgstr "Ime" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "Ime" msgid "Description" msgstr "Opis" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "Opis (opcijsko)" @@ -593,12 +593,12 @@ msgstr "Napaka strežnika" msgid "An error has been logged by the server." msgstr "Zaznana napaka na strežniku." -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "Mora biti veljavna številka" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "Zaledje e-pošte ni nastavljeno" msgid "InvenTree system health checks failed" msgstr "Preverjanje zdravja sistema InvenTree neuspelo" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "" @@ -754,14 +754,14 @@ msgstr "O InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "" msgid "Build Order" msgstr "Nalog izgradnje" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "Nalog izgradnje" msgid "Build Orders" msgstr "Nalogi izgradnje" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "Neveljavna izbira za nadrejeno izgradnjo" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "Referenca naloga izgradnje" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "Referenca naloga izgradnje" msgid "Reference" msgstr "Referenca" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Nadrejena izgradnja" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" msgid "Part" msgstr "Del" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "Izberite del za izgradnjo" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "Referenca dobavnica" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "Dobavnica na katero se navezuje ta izgradnja" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Lokacija vira" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Izberite lokacijo dela za to izgradnjo (v primeru da ni pomembno pusti prazno)" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "Ciljna lokacija" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "Izberite lokacijo, kjer bodo končne postavke shranjene" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "Količina izgradenj" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "Število postavk za izgradnjo" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "Končane postavke" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "Število postavk zaloge, ki so bile končane" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "Status izgradnje" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "Koda statusa izgradnje" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Številka serije" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "Številka serije za to izgradnjo" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Datum ustvarjenja" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "Rok dokončanja" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Rok končanja izdelave. Izdelava po tem datumu bo v zamudi po tem datumu." -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Datom končanja" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "dokončal" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Izdal" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "Uporabnik, ki je izdal nalog za izgradnjo" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "Uporabnik, ki je izdal nalog za izgradnjo" msgid "Responsible" msgstr "Odgovoren" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Zunanja povezava" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Nalog izgradnje {build} je dokončan" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "Nalog izgradnej dokončan" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "Ni določena izgradnja" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "Igradnja je že dokončana" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "Izgradnja se ne ujema s nalogom izdelave" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "" msgid "Quantity" msgstr "Količina" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Izdelana postavka mora imeti izgradnjo, če je glavni del označen kot sledljiv" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Prestavljena zaloga ({q}) ne sme presegati zaloge ({a})" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "Preveč zaloge je prestavljene" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "Prestavljena količina mora biti večja od 0" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "Količina za zalogo s serijsko številko mora biti 1" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "" msgid "Stock Item" msgstr "Postavka zaloge" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "Izvorna postavka zaloge" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "Količina zaloge za prestavljanje za izgradnjo" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "Inštaliraj v" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "Destinacija postavke zaloge" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -2311,7 +2311,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" @@ -2343,7 +2343,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "" @@ -2351,7 +2351,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" @@ -2360,7 +2360,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "" @@ -4231,10 +4231,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Poslano" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5775,12 +5775,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5789,20 +5789,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5827,11 +5827,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5844,12 +5844,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" @@ -5867,7 +5867,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "" @@ -5983,7 +5983,7 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -6010,371 +6010,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "" @@ -7065,11 +7065,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8219,17 +8219,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8754,7 +8754,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9274,7 +9274,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" @@ -9806,28 +9806,28 @@ msgstr "" msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po index c8685ef38c..219ed11a0f 100644 --- a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:05\n" "Last-Translator: \n" "Language-Team: Serbian (Latin)\n" @@ -52,17 +52,17 @@ msgstr "Isporučena nevažeća količina ({exc})" msgid "Error details can be found in the admin panel" msgstr "Detalji o grešci se mogu naći u admin sekciji" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "Unesite datum" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "Potvrda adrese e-pošte" msgid "You must type the same email each time." msgstr "Svaki put morate upisati istu e-poštu." -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "Navedena primarna adresa e-pošte nije važeća." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "Navedeni domen adrese e-pošte nije prihvaćen." -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "Registracija je onemogućena." -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "Isporučena nevažeća količina" @@ -171,35 +171,35 @@ msgstr "Broj jedinstvenih serijskih brojeva ({len(serials)}) mora odgovarati kol msgid "Remove HTML tags from this value" msgstr "Uklonite HTML oznake iz ove vrednosti" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "Greška u povezivanju" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "Server je odgovorio nevažećim statusnim kodom" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "Došlo je do izuzetka" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "Server je odgovorio nevažećom vrednošću dužina sadržaja" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "Veličina slike je prevelika" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "Preuzimanje slike premašilo je maksimalnu veličinu" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "Udaljeni server vratio je prazan odgovor" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "Navedeni URL nije važeća slikovna datoteka" @@ -415,8 +415,8 @@ msgstr "Izaberite datoteku za prilog" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "Izaberite datoteku za prilog" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "Link za eksterni URL" @@ -446,8 +446,8 @@ msgstr "Datoteka komentara" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "Nevažeći izvor" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "Nevažeći izvor" msgid "Name" msgstr "Ime" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "Ime" msgid "Description" msgstr "Opis" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "Opis (Opciono)" @@ -593,12 +593,12 @@ msgstr "Greška servera" msgid "An error has been logged by the server." msgstr "Server je zabležio grešku." -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "Mora biti važeći broj" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "Pozadina e-pošte nije konfigurirana" msgid "InvenTree system health checks failed" msgstr "Provere integriteta sistema InvenTree nije uspela" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "" @@ -754,14 +754,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "" msgid "Build Order" msgstr "Nalog za izradu" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "Nalog za izradu" msgid "Build Orders" msgstr "Nalozi za izradu" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "Nevažeći izbor za nadređenu verziju" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "Deo u nalogu za izradu ne može se izmeniti" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "Reference naloga za pravljenje" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "Reference naloga za pravljenje" msgid "Reference" msgstr "Referenca" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "Kratak opis izrade (nije obavezno)" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -2311,7 +2311,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" @@ -2343,7 +2343,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "" @@ -2351,7 +2351,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" @@ -2360,7 +2360,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "" @@ -4231,10 +4231,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Poslato" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5775,12 +5775,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5789,20 +5789,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5827,11 +5827,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5844,12 +5844,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" @@ -5867,7 +5867,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "" @@ -5983,7 +5983,7 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -6010,371 +6010,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "" @@ -7065,11 +7065,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8219,17 +8219,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8754,7 +8754,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9274,7 +9274,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" @@ -9806,28 +9806,28 @@ msgstr "" msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po index 2947a99cfc..33f5047145 100644 --- a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-12 23:00\n" "Last-Translator: \n" "Language-Team: Swedish\n" @@ -52,17 +52,17 @@ msgstr "Ogiltigt antal angivet ({exc})" msgid "Error details can be found in the admin panel" msgstr "Information om felet finns under Error i adminpanelen" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "Ange datum" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "Bekräfta e-postadress" msgid "You must type the same email each time." msgstr "Du måste ange samma e-post varje gång." -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "Den angivna primära e-postadressen är inte giltig." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "Den angivna e-postdomänen är inte godkänd." -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "Registrering är stängd." -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "Ogiltigt antal angivet" @@ -171,35 +171,35 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "Ta bort HTML-taggar från detta värde" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "Anslutningsfel" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "Servern svarade med ogiltig statuskod" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "Undantag inträffade" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "Servern svarade med ogiltigt innehållslängdsvärde" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "Bilden är för stor" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "Nedladdning av bilder överskred maximal storlek" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "Fjärrservern returnerade tomt svar" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "Angiven URL är inte en giltig bildfil" @@ -415,8 +415,8 @@ msgstr "Välj fil att bifoga" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "Välj fil att bifoga" msgid "Link" msgstr "Länk" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "Länk till extern URL" @@ -446,8 +446,8 @@ msgstr "Fil kommentar" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "Ogiltigt val" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "Ogiltigt val" msgid "Name" msgstr "Namn" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "Namn" msgid "Description" msgstr "Beskrivning" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "Beskrivning (valfritt)" @@ -593,12 +593,12 @@ msgstr "Serverfel" msgid "An error has been logged by the server." msgstr "Ett fel har loggats av servern." -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "Måste vara ett giltigt nummer" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "Backend för e-post är inte konfigurerad" msgid "InvenTree system health checks failed" msgstr "InvenTree systemhälsokontroll misslyckades" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "Okänd databas" @@ -754,14 +754,14 @@ msgstr "Om InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Byggnationen måste avbrytas innan den kan tas bort" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "" msgid "Build Order" msgstr "Byggorder" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "Byggorder" msgid "Build Orders" msgstr "Byggordrar" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "Ogiltigt val för överordnad bygge" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "Byggorderreferens" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "Byggorderreferens" msgid "Reference" msgstr "Referens" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Överordnat Bygge" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "Byggorder till vilken detta bygge är tilldelad" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" msgid "Part" msgstr "Del" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "Välj del att bygga" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "Försäljningsorderreferens" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "Försäljningsorder till vilken detta bygge allokeras" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Källa Plats" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Välj plats att ta lager från för detta bygge (lämna tomt för att ta från någon lagerplats)" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "Destinationsplats" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "Välj plats där de färdiga objekten kommer att lagras" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "Bygg kvantitet" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "Antal lagerobjekt att bygga" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "Slutförda objekt" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "Antal lagerposter som har slutförts" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "Byggstatus" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "Bygg statuskod" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batchkod" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "Batch-kod för denna byggutdata" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Skapad" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "Datum för slutförande" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Måldatum för färdigställande. Byggandet kommer att förfallas efter detta datum." -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Slutförandedatum" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "slutfört av" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Utfärdad av" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "Användare som utfärdade denna byggorder" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "Användare som utfärdade denna byggorder" msgid "Responsible" msgstr "Ansvarig" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Extern länk" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "" msgid "Project Code" msgstr "Projektkod" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Byggorder {build} har slutförts" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "En byggorder har slutförts" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "Ingen byggutgång angiven" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "Byggutgång är redan slutförd" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "Byggutgång matchar inte bygg order" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "" msgid "Quantity" msgstr "Antal" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Byggobjekt måste ange en byggutgång, eftersom huvuddelen är markerad som spårbar" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Tilldelad kvantitet ({q}) får inte överstiga tillgängligt lagersaldo ({a})" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "Lagerposten är överallokerad" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "Allokeringsmängden måste vara större än noll" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "Antal måste vara 1 för serialiserat lager" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "" msgid "Stock Item" msgstr "Artikel i lager" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "Källa lagervara" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "Lagersaldo att allokera för att bygga" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "Installera till" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "Destination lagervara" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Mål" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -2311,7 +2311,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "Mall" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" @@ -2343,7 +2343,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "" @@ -2351,7 +2351,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" @@ -2360,7 +2360,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Ogiltigt domännamn: {domain}" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "" @@ -4231,10 +4231,10 @@ msgstr "" msgid "Delete image" msgstr "Radera bild" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "Kund" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "Adresser" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Skickad" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Leveransdatum" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "Fakturanummer" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5775,12 +5775,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5789,20 +5789,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Nyckelord" @@ -5827,11 +5827,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5844,12 +5844,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" @@ -5867,7 +5867,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "" @@ -5983,7 +5983,7 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "Kategori" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -6010,371 +6010,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Ikon" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "Ikon (valfritt)" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Standardleverantör" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "" msgid "Date" msgstr "Datum" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "" @@ -7065,11 +7065,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8219,17 +8219,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "A4" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "A3" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "Leverantörsnamn" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8754,7 +8754,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9274,7 +9274,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" @@ -9806,28 +9806,28 @@ msgstr "" msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po index afa95e0a42..673ecb8caf 100644 --- a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:05\n" "Last-Translator: \n" "Language-Team: Thai\n" @@ -52,17 +52,17 @@ msgstr "" msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "ป้อนวันที่" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "การยืนยันอีเมล" msgid "You must type the same email each time." msgstr "" -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "ปริมาณสินค้าไม่ถูกต้อง" @@ -171,35 +171,35 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "การเชื่อมต่อขัดข้อง" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "ไฟล์รูปภาพมีขนาดใหญ่เกินไป" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "" @@ -415,8 +415,8 @@ msgstr "เลือกไฟล์ที่ต้องการแนบ" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "เลือกไฟล์ที่ต้องการแนบ" msgid "Link" msgstr "ลิงก์" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "" @@ -446,8 +446,8 @@ msgstr "ความเห็นของไฟล์" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "" msgid "Name" msgstr "ชื่อ" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "ชื่อ" msgid "Description" msgstr "คำอธิบาย" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "" @@ -593,12 +593,12 @@ msgstr "เกิดข้อผิดพลาดที่เซิร์ฟเ msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "ต้องเป็นตัวเลข" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "" @@ -754,14 +754,14 @@ msgstr "เกี่ยวกับ Inventree" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "ออกโดย" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "จำนวนต้องมีค่ามากกว่า 0" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -2311,7 +2311,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" @@ -2343,7 +2343,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "" @@ -2351,7 +2351,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" @@ -2360,7 +2360,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "" @@ -4231,10 +4231,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "จัดส่งแล้ว" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5775,12 +5775,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5789,20 +5789,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5827,11 +5827,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5844,12 +5844,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" @@ -5867,7 +5867,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "" @@ -5983,7 +5983,7 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -6010,371 +6010,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "" @@ -7065,11 +7065,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8219,17 +8219,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8754,7 +8754,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9274,7 +9274,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" @@ -9806,28 +9806,28 @@ msgstr "" msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po index 37833d899a..3064c3934e 100644 --- a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Turkish\n" @@ -52,17 +52,17 @@ msgstr "Geçersiz miktar sağlandı({exc})" msgid "Error details can be found in the admin panel" msgstr "Hata detaylarını admin panelinde bulabilirsiniz" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "Tarih giriniz" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "E-posta adresi onayı" msgid "You must type the same email each time." msgstr "Her seferind eaynı e-posta adresini yazmalısınız." -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "Sağlanan e-posta adresi geçerli değil." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "Sağlanan e-posta alanı onaylanmadı." -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "Kayıt devre dışı." -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "Geçersiz veri sağlandı" @@ -171,35 +171,35 @@ msgstr "Benzersiz seri numaralarının sayısı ({len(serials)}) ile miktarın ( msgid "Remove HTML tags from this value" msgstr "Bu değerden HTML etiketlerini kaldır" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "Bağlantı hatası" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "Sunucu geçersiz durum kodu ile cevap verdi" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "İstisna oluştu" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "Sunucu geçersiz Content-Length değeriyle yanıt verdi" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "Resim boyutu çok büyük" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "Resim indirme boyutu izin verilenden büyük" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "Uzak sunucu boş cevap döndü" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "Sağlanan URL geçerli bir resim dosyası değil" @@ -415,8 +415,8 @@ msgstr "Eklenecek dosyayı seç" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "Eklenecek dosyayı seç" msgid "Link" msgstr "Bağlantı" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "Harici URL'ye bağlantı" @@ -446,8 +446,8 @@ msgstr "Dosya yorumu" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "Geçersiz seçim" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "Geçersiz seçim" msgid "Name" msgstr "Adı" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "Adı" msgid "Description" msgstr "Açıklama" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "Açıklama (isteğe bağlı)" @@ -593,12 +593,12 @@ msgstr "Sunucu Hatası" msgid "An error has been logged by the server." msgstr "Bir hafta sunucu tarafından kayıt edildi." -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "E-posta arka ucu yapılandırılmadı" msgid "InvenTree system health checks failed" msgstr "InvenTree sistem sağlık kontrolü başarısız" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "" @@ -754,14 +754,14 @@ msgstr "InvenTree Hakkında" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "" msgid "Available" msgstr "Mevcut" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "Mevcut" msgid "Build Order" msgstr "Yapım İşi Emri" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "Yapım İşi Emri" msgid "Build Orders" msgstr "Yapım İşi Emirleri" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "Yapım İşi Emri Referansı" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "Yapım İşi Emri Referansı" msgid "Reference" msgstr "Referans" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Üst Yapım İşi" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" msgid "Part" msgstr "Parça" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "Yapım işi için parça seçin" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "Satış Emri Referansı" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "Bu yapım işinin tahsis edildiği satış emri" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Kaynak Konum" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Bu yapım işi için stok alınacak konumu seçin (her hangi bir stok konumundan alınması için boş bırakın)" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "Hedef Konum" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "Tamamlanmış ögelerin saklanacağı konumu seçiniz" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "Yapım İşi Miktarı" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "Yapım işi stok kalemlerinin sayısı" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "Tamamlanmış ögeler" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "Tamamlanan stok kalemlerinin sayısı" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "Yapım İşi Durumu" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "Yapım işi durum kodu" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Sıra numarası" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "Yapım işi çıktısı için sıra numarası" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Oluşturulma tarihi" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "Hedef tamamlama tarihi" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Yapım işinin tamamlanması için hedef tarih. Bu tarihten sonra yapım işi gecikmiş olacak." -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Tamamlama tarihi" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "tamamlayan" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Veren" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "Bu yapım işi emrini veren kullanıcı" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "Bu yapım işi emrini veren kullanıcı" msgid "Responsible" msgstr "Sorumlu" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Harici Bağlantı" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "Yapım işi çıktısı belirtilmedi" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "Yapım işi çıktısı zaten tamamlanmış" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "Yapım işi çıktısı, yapım işi emri ile eşleşmiyor" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "" msgid "Quantity" msgstr "Miktar" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Ana parça izlenebilir olarak işaretlendiğinden, yapım işi çıktısı için bir yapım işi ögesi belirtmelidir" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "Seri numaralı stok için miktar bir olmalı" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "" msgid "Stock Item" msgstr "Stok Kalemi" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "Kaynak stok kalemi" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "Yapım işi için tahsis edilen stok miktarı" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "Kurulduğu yer" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "Hedef stok kalemi" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Stok, yapım işi emri için tamamen tahsis edilemedi" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "Stok Kaynağı" msgid "Stock can be taken from any available location." msgstr "Stok herhangi bir konumdan alınabilir." -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Hedef" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -2311,7 +2311,7 @@ msgstr "Kategori Paremetre Sablonu Kopyala" msgid "Copy category parameter templates when creating a part" msgstr "Parça oluştururken kategori parametre şablonlarını kopyala" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "Şablon" msgid "Parts are templates by default" msgstr "Parçaları varsayılan olan şablondur" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "Montaj" msgid "Parts can be assembled from other components by default" msgstr "Parçalar varsayılan olarak başka bileşenlerden monte edilebilir" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Bileşen" @@ -2343,7 +2343,7 @@ msgstr "Bileşen" msgid "Parts can be used as sub-components by default" msgstr "Parçalar varsayılan olarak alt bileşen olarak kullanılabilir" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "Satın Alınabilir" @@ -2351,7 +2351,7 @@ msgstr "Satın Alınabilir" msgid "Parts are purchaseable by default" msgstr "Parçalar varsayılan olarak satın alınabilir" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Satılabilir" @@ -2360,7 +2360,7 @@ msgstr "Satılabilir" msgid "Parts are salable by default" msgstr "Parçalar varsayılan olarak satılabilir" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "Takip Edilebilir" msgid "Parts are trackable by default" msgstr "Parçalar varsayılan olarak takip edilebilir" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "İletişim e-posta adresi" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Temel Parça" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "Parametre değeri" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "" msgid "Note" msgstr "Not" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "temel maliyet" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "çoklu" @@ -4231,10 +4231,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "Müşteri" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "Tedarikçi Parça Stoku" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "Harici sayfaya bağlantı" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "Oluşturan" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "Sipariş referansı" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Sevk edildi" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tahsis miktarı stok miktarını aşamaz" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "Seri numaralı stok kalemi için miktar bir olmalı" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "Stok tahsis miktarını girin" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5775,12 +5775,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5789,20 +5789,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "DPN" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Revizyon" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Anahtar kelimeler" @@ -5827,11 +5827,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Çeşidi" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimum Stok" @@ -5844,12 +5844,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" @@ -5867,7 +5867,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "" @@ -5983,7 +5983,7 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Varsayılan Konum" @@ -6010,371 +6010,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Parça Kategorileri" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "Bu kategori içindeki parçalar için varsayılan konum" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "Parça adı" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "Şablon Mu" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "Bu parça bir şablon parçası mı?" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "Bu parça başka bir parçanın çeşidi mi?" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "Parça revizyon veya versiyon numarası" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Varsayılan Tedarikçi" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "Varsayılan tedarikçi parçası" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "Bu parça diğer parçalardan yapılabilir mi?" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "Bu parça diğer parçaların yapımında kullanılabilir mi?" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "Bu parça müşterilere satılabilir mi?" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "Bu parça aktif mi?" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "Oluşturan Kullanıcı" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "Test şablonları sadece takip edilebilir paçalar için oluşturulabilir" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "Test Adı" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "Test Açıklaması" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Etkin" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Gerekli" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "Parametre şablon adı benzersiz olmalıdır" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Parametre Şablonu" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Bu malzeme listesi, çeşit parçalar listesini kalıtsalıdır" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Çeşide İzin Ver" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Çeşit parçaların stok kalemleri bu malzeme listesinde kullanılabilir" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "" @@ -7065,11 +7065,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8219,17 +8219,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8754,7 +8754,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Stok Konumu" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Stok Konumları" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "Seri numarası olan ögenin miktarı bir olmalı" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Miktar birden büyük ise seri numarası ayarlanamaz" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "Üst Stok Kalemi" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "Bu stok kalemi için tedarikçi parçası seçin" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "Bu öge için seri numarası" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "Seri numaraları tam sayı listesi olmalı" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "Miktar seri numaları ile eşleşmiyor" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "Seri numaraları zaten mevcut" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "Stok kalemi stokta olmadığı için taşınamaz" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9274,7 +9274,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Alt konumlar" @@ -9806,28 +9806,28 @@ msgstr "Bu konumun sahipleri listesinde değilsiniz. Bu stok konumu düzenleneme msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "Yeni stok konumu oluştur" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "Yeni Konum" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "Parçaları düzenleme izni" #: users/models.py:413 msgid "Permission to delete items" msgstr "Parçaları silme izni" - diff --git a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po index 9d7850b692..f3d027f694 100644 --- a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" @@ -52,17 +52,17 @@ msgstr "" msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "" msgid "You must type the same email each time." msgstr "" -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "" @@ -171,35 +171,35 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "" @@ -415,8 +415,8 @@ msgstr "" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "" @@ -446,8 +446,8 @@ msgstr "" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "" @@ -593,12 +593,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "" @@ -754,14 +754,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -2311,7 +2311,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" @@ -2343,7 +2343,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "" @@ -2351,7 +2351,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" @@ -2360,7 +2360,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "" @@ -4231,10 +4231,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5775,12 +5775,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5789,20 +5789,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5827,11 +5827,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5844,12 +5844,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" @@ -5867,7 +5867,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "" @@ -5983,7 +5983,7 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -6010,371 +6010,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "" @@ -7065,11 +7065,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8219,17 +8219,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8754,7 +8754,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9274,7 +9274,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" @@ -9806,28 +9806,28 @@ msgstr "" msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po index 6661afe2a0..9f1664133c 100644 --- a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" @@ -52,17 +52,17 @@ msgstr "Số lượng cung cấp không hợp lệ ({exc})" msgid "Error details can be found in the admin panel" msgstr "Chi tiết lỗi có thể được tìm thấy trong bảng quản trị" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "Nhập ngày" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "Xác nhận địa chỉ email" msgid "You must type the same email each time." msgstr "Bạn phải nhập cùng một email mỗi lần." -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "Địa chỉ email chính đã cung cấp không hợp lệ." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "Miền email được cung cấp không được phê duyệt." -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "Đăng ký bị vô hiệu hóa." -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "Số lượng cung cấp không hợp lệ" @@ -171,35 +171,35 @@ msgstr "Số sê ri duy nhất ({len(serials)}) phải phù hợp số lượng msgid "Remove HTML tags from this value" msgstr "Xóa thẻ HTML từ giá trị này" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "Lỗi kết nối" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "Máy chủ phản hồi với mã trạng thái không hợp lệ" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "Xảy ra Exception" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "Máy chủ đã phản hồi với giá trị Content-Length không hợp lệ" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "Hình ảnh quá lớn" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "Tải xuống hình ảnh vượt quá kích thước tối đa" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "Máy chủ trả về phản hồi trống" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "URL được cung cấp không phải là tệp hình ảnh hợp lệ" @@ -415,8 +415,8 @@ msgstr "Chọn file đính kèm" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "Chọn file đính kèm" msgid "Link" msgstr "Liên kết" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "Liên kết đến URL bên ngoài" @@ -446,8 +446,8 @@ msgstr "Bình luận tệp tin" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "Lựa chọn sai" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "Lựa chọn sai" msgid "Name" msgstr "Tên" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "Tên" msgid "Description" msgstr "Mô tả" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "Mô tả (tùy chọn)" @@ -593,12 +593,12 @@ msgstr "Lỗi máy chủ" msgid "An error has been logged by the server." msgstr "Lỗi đã được ghi lại bởi máy chủ." -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "Phải là một số hợp lệ" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "Chưa cấu hình dịch vụ gửi email" msgid "InvenTree system health checks failed" msgstr "Kiểm tra tình trạng hệ thống InvenTree thất bại" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "Không rõ cơ sở dữ liệu" @@ -754,14 +754,14 @@ msgstr "Giới thiệu" msgid "Build must be cancelled before it can be deleted" msgstr "Bạn dựng phải được hủy bỏ trước khi có thể xóa được" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Vật tư tiêu hao" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "Đã cấp phát" msgid "Available" msgstr "Có sẵn" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "Có sẵn" msgid "Build Order" msgstr "Tạo đơn hàng" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "Tạo đơn hàng" msgid "Build Orders" msgstr "Tạo đơn hàng" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "Lựa chọn sai cho bản dựng cha" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "Sản phẩm đơn đặt bản dựng không thể thay đổi được" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "Tham chiếu đơn đặt bản dựng" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "Tham chiếu đơn đặt bản dựng" msgid "Reference" msgstr "Tham chiếu" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "Mô tả ngắn về phiên bạn (Tùy chọn)" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Phiên bản cha" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "Đơn đặt bản dựng với bản dựng này đã được phân bổ" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "Đơn đặt bản dựng với bản dựng này đã được phân b #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "Đơn đặt bản dựng với bản dựng này đã được phân b msgid "Part" msgstr "Nguyên liệu" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "Chọn sản phẩm để xây dựng" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "Tham chiếu đơn đặt bản dựng" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "Đơn đặt bán hàng với bản dựng này đã được phân bổ" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Địa điểm nguồn" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Chọn địa điểm để lấy trong kho cho bản dựng này (để trống để lấy từ bất kỳ vị trí kho nào)" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "Địa điểm đích" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "Chọn địa điểm nơi hàng hóa hoàn thiện sẽ được lưu kho" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "Xây dựng số lượng" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "Số kho hàng để dựng" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "Những mục hoàn thành" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "Số sản phẩm trong kho đã được hoàn thiện" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "Trnạg thái bản dựng" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "Mã trạng thái bản dựng" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Mã lô hàng" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "Mã lô cho đầu ra bản dựng này" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Ngày tạo" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "Ngày hoàn thành mục tiêu" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Ngày mục tiêu để hoàn thành bản dựng. Bản dựng sẽ bị quá hạn sau ngày này." -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Ngày hoàn thành" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "hoàn thành bởi" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Cấp bởi" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "Người dùng người đã được phân công cho đơn đặt bản dựng này" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "Người dùng người đã được phân công cho đơn đặt bản msgid "Responsible" msgstr "Chịu trách nhiệm" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "Người dùng hoặc nhóm có trách nhiệm với đơn đặt bản dựng này" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Liên kết bên ngoài" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "Độ ưu tiên" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "Độ quan trọng của đơn đặt bản dựng" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "Độ quan trọng của đơn đặt bản dựng" msgid "Project Code" msgstr "Mã dự án" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "Mã dự án cho đơn đặt bản dựng này" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Đơn đặt bản dựng {build} đã được hoàn thành" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "Một đơn đặt bản dựng đã được hoàn thành" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "Không có đầu ra bản dựng đã được chỉ ra" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "Đầu ra bản dựng đã được hoàn thiện" -#: build/models.py:853 +#: build/models.py:854 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:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "Số lượng phải lớn hơn 0" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 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:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "Dựng đối tượng" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "Dựng đối tượng" msgid "Quantity" msgstr "Số lượng" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "Yêu cầu số lượng để dựng đơn đặt" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Xây dựng mục phải xác định đầu ra, bởi vì sản phẩm chủ được đánh dấu là có thể theo dõi" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Số lượng được phân bổ ({q}) không thể vượt quá số lượng có trong kho ({a})" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "Kho hàng đã bị phân bổ quá đà" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "Số lượng phân bổ phải lớn hơn 0" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "Số lượng phải là 1 cho kho sê ri" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "Hàng trong kho đã chọn không phù hợp với đường BOM" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "Hàng trong kho đã chọn không phù hợp với đường BOM" msgid "Stock Item" msgstr "Kho hàng" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "Kho hàng gốc" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "Số lượng kho hàng cần chỉ định để xây dựng" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "Cài đặt vào" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "Kho hàng đích" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "Vị trí cho đầu ra bản dựng hoàn thiện" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "Phân bổ các mục hóa đơn vật liệu tùy chọn đến đơn msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "Mục BOM" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Kho không được phân bổ đầy đủ với yêu cầu bản dựng này" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "Đầu ra hoàn thiện" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "Nguồn kho" msgid "Stock can be taken from any available location." msgstr "Kho có thể được lấy từ bất kỳ địa điểm nào." -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Đích đến" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "Không phần mở rộng" @@ -2311,7 +2311,7 @@ msgstr "Sao chéo mẫu tham số danh mục" msgid "Copy category parameter templates when creating a part" msgstr "Sao chéo mẫu tham số danh mục khi tạo 1 sản phẩm" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "Mẫu" msgid "Parts are templates by default" msgstr "Sản phẩm là mẫu bởi mặc định" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "Lắp ráp" msgid "Parts can be assembled from other components by default" msgstr "Sản phẩm có thể lắp giáp từ thành phần khác theo mặc định" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Thành phần" @@ -2343,7 +2343,7 @@ msgstr "Thành phần" msgid "Parts can be used as sub-components by default" msgstr "Sản phẩm có thể được sử dụng mặc định như thành phần phụ" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "Có thể mua" @@ -2351,7 +2351,7 @@ msgstr "Có thể mua" msgid "Parts are purchaseable by default" msgstr "Sản phẩm mặc định có thể mua được" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Có thể bán" @@ -2360,7 +2360,7 @@ msgstr "Có thể bán" msgid "Parts are salable by default" msgstr "Sản phẩm mặc định có thể bán được" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "Có thể theo dõi" msgid "Parts are trackable by default" msgstr "Sản phẩm mặc định có thể theo dõi được" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "Số lượng giá phá vỡ" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "Tên của webhook này" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "Đọc" msgid "Was this news item read?" msgstr "Tin này đã được đọc?" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "Đối số từ khóa" msgid "Task keyword arguments" msgstr "Đối số từ khóa công việc" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "Tên miền rỗng là không được phép." -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Tên miền không hợp lệ: {domain}" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "Địa chỉ email liên hệ" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ 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:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Sản phẩm cơ bản" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "Giá trị tham số" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ 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:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "Mô tả sản phẩm nhà cung cấp" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "Mô tả sản phẩm nhà cung cấp" msgid "Note" msgstr "Ghi chú" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "chi phí cơ sở" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "Thu phí tối thiểu (vd: phí kho bãi)" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "Số lượng gói" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Tổng số lượng được cung cấp trong một gói đơn. Để trống cho các hàng hóa riêng lẻ." -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "nhiều" @@ -4231,10 +4231,10 @@ msgstr "Tải hình ảnh từ URL" msgid "Delete image" msgstr "Xóa ảnh" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "Khách hàng" msgid "Uses default currency" msgstr "Dùng tiền mặc định" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "Địa chỉ" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "Kho sản phẩm nhà cung cấp" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "Thêm mới hàng trong kho" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "Hàng trong kho mới" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "Không tìm thấy đơn đặt mua phù hợp" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Đặt hàng" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "Đơn hàng" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "Đơn hàng" msgid "Return Order" msgstr "Đơn hàng trả lại" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "Tổng tiền cho đơn hàng hàng" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "Tiền tệ đơn đặt hàng" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "Tiền tệ cho đơn đặt này (để trống để sử dụng tiền mặc định)" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "Liên hệ không phù hợp với doanh nghiệp đã chọn" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "Mô tả đơn đặt (tùy chọn)" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "Mã dự án đã chọn cho đơn đặt hàng này" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "Liên kết đến trang bên ngoài" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Ngày mong muốn giao được hàng. Đơn đặt sẽ quá hạn sau ngày này." -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "Tạo bởi" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "Người dùng hoặc nhóm có trách nhiệm với đơn đặt này" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "Đầu mối liên hệ của đơn đặt này" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "Địa chỉ công ty cho đơn đặt này" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "Mã đặt hàng" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "Trạng thái đơn đặt mua" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "Doanh nghiệp từ những hàng hóa đang được đặt mua" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "Tham chiếu nhà cung cấp" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "Mã tham chiếu đơn đặt nhà cung cấp" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "nhận bởi" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "Ngày phát hành" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "Ngày đặt hàng đã phát hành" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "Ngày đặt hàng đã được hoàn thiện" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "Nhà cung cấp sản phẩm phải trùng với nhà cung cấp PO" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "Số lượng phải là số dương" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "Doanh nghiệp từ những hàng hóa đang được bán" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "Tham chiếu khách hàng " -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "Mã tham chiếu đơn đặt của khách hàng" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Ngày giao hàng" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "vận chuyển bằng" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "Những đơn hàng đang mở thì sẽ được đánh dấu là hoàn thành" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Đơn hàng không thể hoàn thành được vì vận chuyển chưa xong" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "Đơn hàng không thể hoàn thành được vì những khoản riêng chưa xong" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "Số lượng mặt hàng" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "Tham chiếu khoản riêng" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "Ghi chú khoản riêng" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Ngày mục tiêu cho khoản riêng này (để trống để sử dụng ngày mục tiêu từ đơn đặt)" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "Mô tả khoản riêng (tùy chọn)" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "Ngữ cảnh" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "Ngữ cảnh bổ sung" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "Đơn giá" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "Sản phẩm nhà cung cấp phải phù hợp với nhà cung cung cấp" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "đã bị xóa" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "Sản phẩm nhà cung cấp" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "Sản phẩm nhà cung cấp" msgid "Received" msgstr "Đã nhận" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "Số mục đã nhận" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "Giá mua" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "Giá đơn vị mua" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "Có phải người mua hàng muốn mặt hàng này được tích trữ?" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "Không thể gán sản phẩm ảo vào trong đơn đặt bán hàng" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "Chỉ có thể gán sản phẩm có thể bán vào đơn đặt bán hàng" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Giá bán" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "Giá bán đơn vị" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Đã chuyển" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "Số lượng đã vận chuyển" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "Ngày vận chuyển" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Ngày giao hàng" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "Ngày giao hàng của vận chuyển" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "Kiểm tra bởi" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "Người dùng đã kiểm tra vận chuyển này" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Vận chuyển" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "Mã vận chuyển" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "Số theo dõi" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "Thông tin theo dõi vận chuyển" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "Mã hóa đơn" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "Số tham chiếu liên kết với hóa đơn" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "Vận đơn đã được gửi đi" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "Vận đơn chưa có hàng hóa được phân bổ" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "Hàng trong kho chưa được giao" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "Không thể phân bổ hàng hóa vào cùng với dòng với sản phẩm khác" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "Không thể phân bổ hàng hóa vào một dòng mà không có sản phẩm nào" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Số lượng phân bổ không thể vượt quá số lượng của kho" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "Số lượng phải là 1 cho hàng hóa sêri" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "Đơn bán hàng không phù hợp với vận đơn" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "Vận đơn không phù hợp với đơn bán hàng" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "Dòng" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "Tham chiếu vận đơn của đơn hàng bán" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "Hàng hóa" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "Chọn hàng trong kho để phân bổ" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "Nhập số lượng phân kho" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "Tham chiếu đơn hàng trả lại" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "Công ty có hàng hóa sẽ được trả lại" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "Trạng thái đơn hàng trả lại" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "Chỉ hàng hóa thêo sêri mới có thể được gán vào đơn hàng trả lại" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "Chọn hàng hóa để trả lại từ khách hàng" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "Ngày nhận được" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "Ngày mà hàng hóa trả lại đã được nhận" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Kết quả" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "Kết quả cho hàng hóa dòng này" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "Chi phí gắn với hàng trả lại hoặc sửa chữa cho dòng hàng hóa này" @@ -5775,12 +5775,12 @@ msgstr "Cập nhật {part} giá đơn vị đến {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Cập nhật {part} giá đơn vị đến {price} và số lượng đến {qty}" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "ID sản phẩm" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "Tên sản phẩm" @@ -5789,20 +5789,20 @@ msgstr "Tên sản phẩm" msgid "Part Description" msgstr "Mô tả sản phẩm" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Phiên bản" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Từ khóa" @@ -5827,11 +5827,11 @@ msgstr "ID vị trí mặc định" msgid "Default Supplier ID" msgstr "ID nhà cung ứng mặc định" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Biến thể của" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Kho tối thiểu" @@ -5844,12 +5844,12 @@ msgstr "Sử dụng trong" msgid "Building" msgstr "Đang dựng" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "Chi phí tối thiểu" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "Chi phí tối đa" @@ -5867,7 +5867,7 @@ msgstr "Tên cha" msgid "Category Path" msgstr "Đưỡng dẫn danh mục" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "ID hàng hóa BOM" msgid "Parent IPN" msgstr "IPN cha" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "IPN sản phẩm" @@ -5983,7 +5983,7 @@ msgstr "Tùy chọn này phải được chọn" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "Danh mục" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Điểm bán mặc định" @@ -6010,371 +6010,371 @@ msgstr "Tổng số lượng" msgid "Input quantity for price calculation" msgstr "Số lượng đầu ra cho tính toán giá bán" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Danh mục sản phẩm" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Danh mục sản phẩm" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "Vị trí mặc định cho sản phẩm trong danh mục này" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "Cấu trúc" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Hàng hóa không được gán trực tiếp vào danh mục có cấu trúc nhưng có thể được gán vào danh mục con." -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "Từ khóa mặc định" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "Từ khóa mặc định cho sản phẩm trong danh mục này" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Biểu tượng" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "Biểu tượng (tùy chọn)" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Bạn không thể thay đổi cấu trúc nhóm sản phẩm này vì một số sản phẩm đã được gắn với nó rồi!" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "Lựa chọn sai cho sản phẩm cha" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Không thể dùng sản phẩm '{self}' trong BOM cho '{parent}' (đệ quy)" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Sản phẩm '{parent}' được dùng trong BOM cho '{self}' (đệ quy)" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN phải phù hợp mẫu biểu thức chính quy {pattern}" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "Hàng trong kho với số sê ri này đã tồn tại" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN trùng lặp không được cho phép trong thiết lập sản phẩm" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "Sản phẩm với Tên, IPN và Duyệt lại đã tồn tại." -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "Sản phẩm không thể được phân vào danh mục sản phẩm có cấu trúc!" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "Tên sản phẩm" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "Là Mẫu" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "Sản phẩm này có phải là sản phẩm mẫu?" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "Đây có phải là 1 biến thể của sản phẩm khác?" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "Mô tả (không bắt buộc)" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "Từ khóa sản phẩm để cải thiện sự hiện diện trong kết quả tìm kiếm" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "Danh mục sản phẩm" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "Mã sản phẩm nội bộ" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "Số phiên bản hoặc bản duyệt lại sản phẩm" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "Hàng hóa này sẽ được cất vào đâu?" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Nhà cung ứng mặc định" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "Nhà cung ứng sản phẩm mặc định" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "Hết hạn mặc định" -#: part/models.py:1036 +#: part/models.py:1027 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:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "Cấp độ kho tối thiểu được phép" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "Đơn vị đo cho sản phẩm này" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "Sản phẩm này có thể được dựng từ sản phẩm khác?" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "Sản phẩm này có thể dùng để dựng các sản phẩm khác?" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "Sản phẩm này có đang theo dõi cho hàng hóa duy nhất?" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "Sản phẩm này có thể mua được từ nhà cung ứng bên ngoài?" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "Sản phẩm này có thể được bán cho khách hàng?" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "Sản phẩm này đang hoạt động?" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "Đây là sản phẩm ảo, ví dụ như sản phẩm phần mềm hay bản quyền?" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "Giá trị tổng kiểm BOM" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "Giá trị tổng kiểm BOM đã được lưu" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "BOM kiểm tra bởi" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "Ngày kiểm tra BOM" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "Tạo người dùng" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "Trách nhiệm chủ sở hữu cho sản phẩm này" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "Kiểm kê cuối cùng" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "Bán nhiều" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "Tiền được dùng để làm đệm tính toán giá bán" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "Chi phí BOM tối thiểu" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "Chi phí thành phần sản phẩm tối thiểu" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "Chi phí BOM tối đa" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "Chi phí thành phần sản phẩm tối đa" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "Chi phí mua vào tối thiểu" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "Chi phí mua vào tối thiểu trong lịch sử" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "Chi phí mua tối đa" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "Chi phí thành phần sản phẩm tối đa trong lịch sử" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "Giá nội bộ tối thiểu" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "Chi phí tối thiểu dựa trên phá vỡ giá nội bộ" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "Giá nội bộ tối đa" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "Chi phí tối đa dựa trên phá vỡ giá nội bộ" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "Giá nhà cung ứng tối thiểu" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "Giá sản phẩm tối thiểu từ nhà cung ứng bên ngoài" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "Giá nhà cung ứng tối đa" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "Giá sản phẩm tối đã từ nhà cung ứng bên ngoài" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "Giá trị biến thể tối thiểu" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "Chi phí tối thiểu của sản phẩm biến thể đã tính" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "Chi phí biến thể tối đa" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "Chi phí tối đa của sản phẩm biến thể đã tính" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "Ghi đề chi phí tối thiểu" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "Ghi đề chi phí tối đa" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "Chi phí tối thiểu tính toán tổng thể" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "Chi phí tối đa tính toán tổng thể" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "Giá bán thấp nhất" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "Giá bán tối thiểu dựa trên phá giá" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "Giá bán cao nhất" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "Giá bán cao nhất dựa trên phá giá" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "Chi phí bán hàng tối thiểu" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "Giá bán hàng tối thiểu trong lịch sử" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "Giá bán hàng tối đa" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "Giá bán hàng tối đa trong lịch sử" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "Sản phẩm dành cho kiểm kê" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "Tổng số hàng" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "Số mục kho độc lậo tại thời điểm kiểm kê" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "Tống số kho tại thời điểm kiểm kê" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "Tống số kho tại thời điểm kiểm kê" msgid "Date" msgstr "Ngày" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "Kiểm kê đã thực hiện" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "Ghi chú bổ sung" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "Người dùng đã thực hiện đợt kiểm kê này" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "Chi phí kho tối thiểu" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "Chi phí kho tối thiểu ước tính của kho đang có" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "Chi phí kho tối đa" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "Chi phí kho tối đa ước tính của kho đang có" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Báo cáo" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "Tệp báo cáo kiểm kê (được sinh nội bộ)" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Bộ đếm sản phẩm" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "Số sản phẩm đã được bao quát bởi kiểm kê" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "Người dùng đã yêu cầu báo cáo kiểm kê này" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "Lựa chọn phải duy nhất" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "Chỉ có thể tạo mẫu kiểm thử cho sản phẩm có thể theo dõi" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "Tên kiểm thử" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "Nhập tên cho kiểm thử" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "Mô tả kiểm thử" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "Nhập mô tả cho kiểm thử này" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Đã bật" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Bắt buộc" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "Kiểm thử này bắt buộc phải đạt?" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "Giá trị bắt buộc" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "Kiểm thử này yêu cầu 1 giá trị khi thêm một kết quả kiểm thử?" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "Yêu cầu đính kèm" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "Kiểm thử này yêu cầu tệp đính kèm khi thêm một kết quả kiểm thử?" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "Lựa chọn" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "Tham số hộp kiểm tra không thể có đơn vị" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "Tham số hộp kiểm tra không thể có lựa chọn" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "Tên tham số mẫu phải là duy nhất" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "Tên tham số" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "Đơn vị vật lý cho tham số này" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "Mô tả tham số" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "Ô lựa chọn" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "Tham số này có phải là hộp kiểm tra?" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "Lựa chọn hợp lệ từ tham số này (ngăn cách bằng dấu phẩy)" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "Lựa chọn sai cho giá trị tham số" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "Sản phẩm cha" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Mẫu tham số" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "Dữ liệu" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "Giá trị tham số" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Giá trị mặc định" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "Giá trị tham số mặc định" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "Tên hoặc mã sản phẩm" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "Giá trị mã sản phẩm duy nhất" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "Giá trị IPN sản phẩm" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "Cấp độ" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "Cấp độ BOM" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "Chọn sản phẩm cha" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "Sản phẩm phụ" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "Chọn sản phẩm được dùng trong BOM" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "Số lượng BOM cho mục BOM này" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "Mục BOM này là tùy chọn" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Mục BOM này bị tiêu hao (không được theo dõi trong đơn đặt bản dựng)" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Dư thừa" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Số lượng bản dựng lãng phí ước tính (tuyệt đối hoặc phần trăm)" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "Tham chiếu mục BOM" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "Ghi chú mục BOM" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "Giá trị tổng kiểm" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "Giá trị tổng kiểm dòng BOM" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Đã xác minh" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "Mục BOM này là hợp lệ" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "Nhận thừa hưởng" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Mục BOM này được thừa kế bởi BOM cho sản phẩm biến thể" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Cho phép biến thể" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Hàng trong kho cho sản phẩm biến thể có thể được dùng bởi mục BOM này" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "Số lượng phải là giá trị nguyên dùng cho sản phẩm có thể theo dõi được" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "Sản phẩm phụ phải được chỉ định" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "Sảm phẩm thay thế mục BOM" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "Sản phẩm thay thế không thể giống sản phẩm chủ đạo" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "Hàng hóa BOM cha" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "Sản phẩm thay thế" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "Sản phẩm 1" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "Sản phẩm 2" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "Chọn sản phẩm liên quan" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "Không thể tạo mối quan hệ giữa một sản phẩm và chính nó" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "Đã tồn tại mối quan hệ trùng lặp" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "Loại tiền mua hàng của hàng hóa này" @@ -7065,11 +7065,11 @@ msgstr "Báo cáo kiểm kê có sẵn" msgid "A new stocktake report is available for download" msgstr "Có sẵn một báo cáo kiểm kê mới để tải về" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "Thông báo sắp hết hàng" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Kho có sẵn cho {part.name} đã mất dưới mức cấu hình tối thiểu" @@ -8219,17 +8219,17 @@ msgstr "Phương thức" msgid "No author found" msgstr "Không tìm thấy tác giả" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "Phần bổ sung '{p}' không tương thích với phiên bản InvenTree hiện tại {v}" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "Phần bổ sung yêu cầu ít nhất phiên bản {v}" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Phần bổ sung yêu cầu tối đa phiên bản {v}" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "Tệp mẫu '{template}' đang bị lỗi hoặc không tồn tại" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "Pháp lý" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "Thư" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "Tổng cộng" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "Tên nhà cung cấp" msgid "Customer ID" msgstr "ID Khách hàng" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Đã cài đặt trong" @@ -8754,7 +8754,7 @@ msgstr "Cần xem xét" msgid "Delete on Deplete" msgstr "Xóa khi thiếu hụt" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "Sản phẩm nhà cung cấp có kích thước đóng gói được đ msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Số sê-ri không thê được cung cấp cho sản phẩm không thể theo dõi" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "Loại vị trí kho hàng" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "Loại vị trí kho hàng" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "Biểu tượng mặc định cho vị trí không được đặt biểu tượng (tùy chọn)" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Kho hàng" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Vị trí kho hàng" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Chủ sở hữu" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "Chọn chủ sở hữu" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Không thể đưa trực tiếp hàng trong kho vào bên trong vị trí kho hàng có cấu trúc, nhưng có thể đặt vào kho con." -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "Bên ngoài" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "Đây là vị trí kho bên ngoài" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "Loại vị trí" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "Loại vị trí kho hàng của địa điểm này" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "Bạn không thể chuyển đổi vị trí kho hàng này thành cấu trúc vì đã có hàng hóa trong kho được đặt vào bên trong nó!" -#: stock/models.py:643 +#: stock/models.py:640 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:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "Không thể tạo hàng hóa trong kho cho sản phẩm ảo" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "Loại sản phẩm ('{self.supplier_part.part}') phải là {self.part}" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "Số lượng phải là 1 cho hàng hóa với số sê ri" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Số sê ri không thể đặt được nếu số lượng lớn hơn 1" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "Hàng hóa không thể thuộc về chính nó" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "Hàng hóa phải có 1 tham chiếu bản dựng nếu is_building=True" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "Tham chiếu bản dựng không thể trỏ vào cùng một đối tượng sản phẩm" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "Hàng trong kho cha" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "Sản phẩm cơ bản" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "Chọn sản phẩm nhà cung cấp khớp với hàng hóa trong kho này" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "Hàng trong kho này được đặt ở đâu?" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "Đóng gói hàng hóa này được lưu trữ lại" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "Mục này đã được cài đặt trong mục khác?" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "Số sê ri cho mục này" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "Mã lô cho hàng trong kho này" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "Số lượng tồn kho" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "Bản dựng nguồn" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "Bản dựng cho hàng hóa này" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "Tiêu thụ bởi" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "Đơn đặt bản dựng đã dùng hàng hóa này" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "Đơn đặt mua nguồn" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "Đơn đặt mua cho hàng hóa này" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "Đơn hàng bán đích" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Ngày hết hạn của hàng hóa này. Kho sẽ được nhắc tình trạng hết hạn sau ngày này" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "Xóa khi thiếu hụt" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "Xóa hàng trong kho này khi kho hàng bị thiếu hụt" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "Giá mua riêng lẻ tại thời điểm mua" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "Đã chuyển đổi sang sản phẩm" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "Chưa đặt sản phẩm thành có thể theo dõi" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "Số lượng phải là số nguyên" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "Số lượng không thể vượt quá số lượng trong kho đang có ({self.quantity})" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "Số sêri phải là một danh sách dãy số nguyên" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "Số lượng không khớp với số sêri" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "Số sêri đã tồn tại" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "Hàng trong kho đã được gán vào đơn hàng bán" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "Hàng trong kho đã được cài đặt vào hàng hóa khác" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "Hàng trong kho chứa hàng hóa khác" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "Hàng trong kho đã được gắn với một khách hàng" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "Hàng trong kho hiện đang sản xuất" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "Không thể hợp nhất kho nối tiếp" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "Mặt hàng trùng lặp" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "Mặt hàng phải tham chiếu đến sản phẩm tương tự" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "Mặt hàng phải tham chiếu đến sản phẩm nhà cung cấp tương tự" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "Mã trạng thái kho phải phù hợp" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "Không thể xóa mặt hàng không ở trong kho" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "Số sêri quá lớn" -#: stock/serializers.py:414 +#: stock/serializers.py:439 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:534 +#: stock/serializers.py:559 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" @@ -9274,7 +9274,7 @@ msgstr "Không có mặt hàng nào được chọn" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Kho phụ" @@ -9806,28 +9806,28 @@ msgstr "Bạn không thuộc danh sách chủ sở hữu của vị trí này. V msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "Tạo mới vị trí kho" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "Vị trí mới" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "Quyển để sửa mục" #: users/models.py:413 msgid "Permission to delete items" msgstr "Quyền để xóa mục" - diff --git a/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po index 339c453b06..ec9238f3d1 100644 --- a/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 02:04+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2024-06-11 23:04\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" @@ -52,17 +52,17 @@ msgstr "" msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -120,19 +120,19 @@ msgstr "" msgid "You must type the same email each time." msgstr "" -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "" @@ -171,35 +171,35 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "" @@ -415,8 +415,8 @@ msgstr "" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -430,8 +430,8 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "" @@ -446,8 +446,8 @@ msgstr "" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -493,8 +493,8 @@ msgstr "" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -511,19 +511,19 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -548,7 +548,7 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "" @@ -593,12 +593,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -702,7 +702,7 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "" @@ -754,14 +754,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -796,7 +796,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -805,7 +805,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -816,25 +816,25 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -848,27 +848,27 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:221 +#: build/models.py:222 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -879,7 +879,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -912,107 +912,107 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1023,32 +1023,32 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1058,65 +1058,65 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:360 +#: build/models.py:361 msgid "Project code for this build order" msgstr "" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1352 +#: build/models.py:1353 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Build object" msgstr "" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1158,37 +1158,37 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1392 +#: build/models.py:1393 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1562 +#: build/models.py:1563 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1205,19 +1205,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "" @@ -1329,8 +1329,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1500,7 +1500,7 @@ msgstr "" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "" @@ -1677,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1715,8 +1715,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1766,7 +1766,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1930,7 +1930,7 @@ msgstr "" msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:153 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -2311,7 +2311,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2323,7 +2323,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2334,7 +2334,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" @@ -2343,7 +2343,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "" @@ -2351,7 +2351,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" @@ -2360,7 +2360,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2371,7 +2371,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3442,7 +3442,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3466,7 +3466,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3571,7 +3571,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3711,19 +3711,19 @@ msgstr "" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3817,7 +3817,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3957,8 +3957,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4029,7 +4029,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4053,7 +4053,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4093,7 +4093,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4103,16 +4103,16 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4137,7 +4137,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "" @@ -4231,10 +4231,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4249,7 +4249,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4496,7 +4496,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4558,12 +4558,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4743,7 +4743,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -4768,9 +4768,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4783,8 +4783,8 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -4797,8 +4797,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4806,186 +4806,186 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:290 +#: order/models.py:289 msgid "Order description (optional)" msgstr "" -#: order/models.py:299 +#: order/models.py:298 msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:344 +#: order/models.py:343 msgid "Point of contact for this order" msgstr "" -#: order/models.py:354 +#: order/models.py:353 msgid "Company address for this order" msgstr "" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "" -#: order/models.py:1027 +#: order/models.py:1024 msgid "Order is already complete" msgstr "" -#: order/models.py:1030 +#: order/models.py:1027 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1034 +#: order/models.py:1031 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -4995,192 +4995,192 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2057 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2069 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5775,12 +5775,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5789,20 +5789,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5827,11 +5827,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5844,12 +5844,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" @@ -5867,7 +5867,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -5891,7 +5891,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "" @@ -5983,7 +5983,7 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -5996,7 +5996,7 @@ msgstr "" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -6010,371 +6010,371 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:923 +#: part/models.py:914 msgid "Part description (optional)" msgstr "" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "" -#: part/models.py:1141 +#: part/models.py:1132 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6386,340 +6386,340 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 msgid "Choices must be unique" msgstr "" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3512 +#: part/models.py:3503 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4153 +#: part/models.py:4144 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -6737,7 +6737,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "" @@ -7065,11 +7065,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8219,17 +8219,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8397,19 +8397,19 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -8610,7 +8610,7 @@ msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -8729,7 +8729,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8754,7 +8754,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -8817,252 +8817,252 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 msgid "Stock Location type" msgstr "" -#: stock/models.py:60 +#: stock/models.py:61 msgid "Stock Location types" msgstr "" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:193 +#: stock/models.py:194 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:872 +#: stock/models.py:869 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1620 +#: stock/models.py:1615 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9178,11 +9178,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9274,7 +9274,7 @@ msgstr "" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" @@ -9806,28 +9806,28 @@ msgstr "" msgid "Location Type" msgstr "" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" @@ -14390,4 +14390,3 @@ msgstr "" #: users/models.py:413 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po index 96d75fd1a1..5ea2d31540 100644 --- a/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-11 14:05+0000\n" +"POT-Creation-Date: 2024-06-17 11:08+0000\n" "PO-Revision-Date: 2023-02-28 22:38\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" @@ -58,17 +58,17 @@ msgstr "提供的数量无效" msgid "Error details can be found in the admin panel" msgstr "在管理面板中可以找到错误详细信息" -#: InvenTree/fields.py:139 +#: InvenTree/fields.py:136 msgid "Enter date" msgstr "输入日期" -#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453 +#: InvenTree/fields.py:205 InvenTree/models.py:1059 build/serializers.py:453 #: build/serializers.py:531 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1332 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3209 part/templates/part/part_sidebar.html:63 +#: part/models.py:3200 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447 #: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887 @@ -126,19 +126,19 @@ msgstr "Email 地址确认" msgid "You must type the same email each time." msgstr "您必须输入相同的 Email 。" -#: InvenTree/forms.py:253 InvenTree/forms.py:261 +#: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." msgstr "所提供的主要电子邮件地址无效。" -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:263 msgid "The provided email domain is not approved." msgstr "提供的电子邮件域未被核准。" -#: InvenTree/forms.py:395 +#: InvenTree/forms.py:390 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 +#: InvenTree/helpers.py:525 order/models.py:561 order/models.py:763 msgid "Invalid quantity provided" msgstr "提供的数量无效" @@ -182,35 +182,35 @@ msgstr "唯一序列号 ({s}) 必须匹配数量 ({q})" msgid "Remove HTML tags from this value" msgstr "从这个值中删除 HTML 标签" -#: InvenTree/helpers_model.py:150 +#: InvenTree/helpers_model.py:140 msgid "Connection error" msgstr "连接错误" -#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +#: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" msgstr "服务器响应状态码无效" -#: InvenTree/helpers_model.py:158 +#: InvenTree/helpers_model.py:148 msgid "Exception occurred" msgstr "发生异常" -#: InvenTree/helpers_model.py:168 +#: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" msgstr "服务器响应的内容长度值无效" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:161 msgid "Image size is too large" msgstr "图片尺寸过大" -#: InvenTree/helpers_model.py:183 +#: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" msgstr "图像下载超过最大尺寸" -#: InvenTree/helpers_model.py:188 +#: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" msgstr "远程服务器返回了空响应" -#: InvenTree/helpers_model.py:196 +#: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" msgstr "提供的 URL 不是一个有效的图片文件" @@ -434,8 +434,8 @@ msgstr "选择附件" #: InvenTree/models.py:581 common/models.py:2934 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:303 order/models.py:1337 order/models.py:1753 -#: part/admin.py:55 part/models.py:963 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:954 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:230 templates/js/translated/company.js:1319 @@ -449,8 +449,8 @@ msgstr "选择附件" msgid "Link" msgstr "链接" -#: InvenTree/models.py:582 build/models.py:345 part/models.py:964 -#: stock/models.py:836 +#: InvenTree/models.py:582 build/models.py:346 part/models.py:955 +#: stock/models.py:833 msgid "Link to external URL" msgstr "链接到外部 URL" @@ -465,8 +465,8 @@ msgstr "文件注释" #: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486 #: common/models.py:2487 common/models.py:2635 common/models.py:2636 -#: common/models.py:2881 common/models.py:2882 part/models.py:3219 -#: part/models.py:3306 part/models.py:3399 part/models.py:3427 +#: common/models.py:2881 common/models.py:2882 part/models.py:3210 +#: part/models.py:3297 part/models.py:3390 part/models.py:3418 #: plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 @@ -512,8 +512,8 @@ msgstr "选择无效" #: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035 #: common/serializers.py:403 company/models.py:614 machine/models.py:24 -#: part/models.py:899 part/models.py:3685 plugin/models.py:51 -#: report/models.py:149 stock/models.py:72 +#: part/models.py:890 part/models.py:3676 plugin/models.py:51 +#: report/models.py:149 stock/models.py:73 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -530,19 +530,19 @@ msgstr "选择无效" msgid "Name" msgstr "名称" -#: InvenTree/models.py:913 build/models.py:218 +#: InvenTree/models.py:913 build/models.py:219 #: build/templates/build/detail.html:24 common/models.py:134 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922 -#: part/models.py:3700 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:288 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:913 +#: part/models.py:3691 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:79 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 @@ -567,7 +567,7 @@ msgstr "名称" msgid "Description" msgstr "描述信息" -#: InvenTree/models.py:914 stock/models.py:79 +#: InvenTree/models.py:914 stock/models.py:80 msgid "Description (optional)" msgstr "描述 (可选)" @@ -614,12 +614,12 @@ msgstr "服务器错误" msgid "An error has been logged by the server." msgstr "服务器记录了一个错误。" -#: InvenTree/serializers.py:63 part/models.py:4238 +#: InvenTree/serializers.py:63 part/models.py:4229 msgid "Must be a valid number" msgstr "必须是有效数字" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3027 +#: company/templates/company/company_base.html:112 part/models.py:3018 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -727,7 +727,7 @@ msgstr "未配置电子邮件后端" msgid "InvenTree system health checks failed" msgstr "InventTree系统健康检查失败" -#: InvenTree/templatetags/inventree_extras.py:183 +#: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" msgstr "" @@ -781,14 +781,14 @@ msgstr "关于 InventTree" msgid "Build must be cancelled before it can be deleted" msgstr "在删除前必须取消生产" -#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4107 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4101 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -823,7 +823,7 @@ msgstr "" msgid "Available" msgstr "空闲" -#: build/models.py:83 build/templates/build/build_base.html:9 +#: build/models.py:84 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:83 templates/email/build_order_completed.html:16 @@ -832,7 +832,7 @@ msgstr "空闲" msgid "Build Order" msgstr "生产订单" -#: build/models.py:84 build/templates/build/build_base.html:13 +#: build/models.py:85 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -843,27 +843,27 @@ msgstr "生产订单" msgid "Build Orders" msgstr "生产订单" -#: build/models.py:131 +#: build/models.py:132 msgid "Invalid choice for parent build" msgstr "上级生产选项无效" -#: build/models.py:142 order/models.py:240 +#: build/models.py:143 order/models.py:239 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:148 +#: build/models.py:149 #, fuzzy #| msgid "Order cannot be cancelled" msgid "Build order part cannot be changed" msgstr "无法取消订单" -#: build/models.py:209 +#: build/models.py:210 msgid "Build Order Reference" msgstr "相关生产订单" -#: build/models.py:210 order/models.py:463 order/models.py:928 -#: order/models.py:1325 order/models.py:2056 part/admin.py:419 -#: part/models.py:4131 part/templates/part/upload_bom.html:54 +#: build/models.py:211 order/models.py:462 order/models.py:925 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4122 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -877,29 +877,29 @@ msgstr "相关生产订单" msgid "Reference" msgstr "引用" -#: build/models.py:221 +#: build/models.py:222 #, fuzzy #| msgid "Brief description of the build" msgid "Brief description of the build (optional)" msgstr "生产的简短描述." -#: build/models.py:229 build/templates/build/build_base.html:183 +#: build/models.py:230 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "上级生产" -#: build/models.py:230 +#: build/models.py:231 msgid "BuildOrder to which this build is allocated" msgstr "此次生产匹配的订单" -#: build/models.py:235 build/templates/build/build_base.html:97 +#: build/models.py:236 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1450 order/models.py:1595 order/models.py:1596 -#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038 -#: part/models.py:3182 part/models.py:3326 part/models.py:3349 -#: part/models.py:3370 part/models.py:3392 part/models.py:3523 -#: part/models.py:3833 part/models.py:3989 part/models.py:4082 -#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1500 part/api.py:1794 part/models.py:394 part/models.py:3029 +#: part/models.py:3173 part/models.py:3317 part/models.py:3340 +#: part/models.py:3361 part/models.py:3383 part/models.py:3514 +#: part/models.py:3824 part/models.py:3980 part/models.py:4073 +#: part/models.py:4432 part/serializers.py:1127 part/serializers.py:1733 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -910,7 +910,7 @@ msgstr "此次生产匹配的订单" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:424 #: stock/serializers.py:821 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -943,107 +943,107 @@ msgstr "此次生产匹配的订单" msgid "Part" msgstr "商品" -#: build/models.py:243 +#: build/models.py:244 msgid "Select part to build" msgstr "选择要生产的商品" -#: build/models.py:248 +#: build/models.py:249 msgid "Sales Order Reference" msgstr "相关销售订单" -#: build/models.py:252 +#: build/models.py:253 msgid "SalesOrder to which this build is allocated" msgstr "此次生产匹配的销售订单" -#: build/models.py:257 build/serializers.py:1000 +#: build/models.py:258 build/serializers.py:1000 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "来源地点" -#: build/models.py:261 +#: build/models.py:262 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "此次生产从哪个仓储位置获取库存(留空即可从任何仓储位置取出)" -#: build/models.py:266 +#: build/models.py:267 msgid "Destination Location" msgstr "目标地点" -#: build/models.py:270 +#: build/models.py:271 msgid "Select location where the completed items will be stored" msgstr "选择已完成项目仓储地点" -#: build/models.py:274 +#: build/models.py:275 msgid "Build Quantity" msgstr "生产数量" -#: build/models.py:277 +#: build/models.py:278 msgid "Number of stock items to build" msgstr "要生产的项目数量" -#: build/models.py:281 +#: build/models.py:282 msgid "Completed items" msgstr "已完成项目" -#: build/models.py:283 +#: build/models.py:284 msgid "Number of stock items which have been completed" msgstr "已完成的库存项目数量" -#: build/models.py:287 +#: build/models.py:288 msgid "Build Status" msgstr "生产状态" -#: build/models.py:291 +#: build/models.py:292 msgid "Build status code" msgstr "生产状态代码" -#: build/models.py:300 build/serializers.py:287 order/serializers.py:582 -#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465 +#: build/models.py:301 build/serializers.py:287 order/serializers.py:582 +#: stock/models.py:837 stock/serializers.py:75 stock/serializers.py:1465 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "批量代码" -#: build/models.py:304 build/serializers.py:288 +#: build/models.py:305 build/serializers.py:288 msgid "Batch code for this build output" msgstr "此生产产出的批量代码" -#: build/models.py:307 order/models.py:316 order/serializers.py:121 -#: part/models.py:1123 part/templates/part/part_base.html:310 +#: build/models.py:308 order/models.py:315 order/serializers.py:121 +#: part/models.py:1114 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "创建日期" -#: build/models.py:311 +#: build/models.py:312 msgid "Target completion date" msgstr "预计完成日期" -#: build/models.py:312 +#: build/models.py:313 msgid "Target date for build completion. Build will be overdue after this date." msgstr "生产完成的目标日期。生产将在此日期之后逾期。" -#: build/models.py:315 order/models.py:521 order/models.py:2101 +#: build/models.py:316 order/models.py:520 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "完成日期:" -#: build/models.py:321 +#: build/models.py:322 msgid "completed by" msgstr "完成人" -#: build/models.py:329 templates/js/translated/build.js:2207 +#: build/models.py:330 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "发布者" -#: build/models.py:330 +#: build/models.py:331 msgid "User who issued this build order" msgstr "发布此生产订单的用户" -#: build/models.py:338 build/templates/build/build_base.html:204 +#: build/models.py:339 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:143 -#: order/models.py:334 order/templates/order/order_base.html:217 +#: order/models.py:333 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1140 +#: order/templates/order/sales_order_base.html:232 part/models.py:1131 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1054,32 +1054,32 @@ msgstr "发布此生产订单的用户" msgid "Responsible" msgstr "责任人" -#: build/models.py:339 +#: build/models.py:340 msgid "User or group responsible for this build order" msgstr "构建此订单的用户或组" -#: build/models.py:344 build/templates/build/detail.html:108 +#: build/models.py:345 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:184 -#: part/templates/part/part_base.html:383 stock/models.py:836 +#: part/templates/part/part_base.html:383 stock/models.py:833 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "外部链接" -#: build/models.py:349 +#: build/models.py:350 msgid "Build Priority" msgstr "创建优先级" -#: build/models.py:352 +#: build/models.py:353 msgid "Priority of this build order" msgstr "此构建订单的优先级" -#: build/models.py:359 common/models.py:127 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:360 common/models.py:127 order/admin.py:18 +#: order/models.py:297 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1091,73 +1091,73 @@ msgstr "此构建订单的优先级" msgid "Project Code" msgstr "商品二维码" -#: build/models.py:360 +#: build/models.py:361 #, fuzzy #| msgid "Priority of this build order" msgid "Project code for this build order" msgstr "此构建订单的优先级" -#: build/models.py:593 build/models.py:658 +#: build/models.py:594 build/models.py:659 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:615 +#: build/models.py:616 #, python-brace-format msgid "Build order {build} has been completed" msgstr "生产订单 {build} 已完成" -#: build/models.py:621 +#: build/models.py:622 msgid "A build order has been completed" msgstr "生产订单已完成" -#: build/models.py:847 build/models.py:932 +#: build/models.py:848 build/models.py:933 msgid "No build output specified" msgstr "未指定生产产出" -#: build/models.py:850 +#: build/models.py:851 msgid "Build output is already completed" msgstr "生产产出已完成" -#: build/models.py:853 +#: build/models.py:854 msgid "Build output does not match Build Order" msgstr "生产产出与订单不匹配" -#: build/models.py:936 build/serializers.py:220 build/serializers.py:269 -#: build/serializers.py:867 order/models.py:559 order/serializers.py:434 +#: build/models.py:937 build/serializers.py:220 build/serializers.py:269 +#: build/serializers.py:867 order/models.py:558 order/serializers.py:434 #: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891 -#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604 +#: stock/models.py:676 stock/models.py:1494 stock/serializers.py:604 msgid "Quantity must be greater than zero" msgstr "数量必须大于0" -#: build/models.py:941 build/serializers.py:225 +#: build/models.py:942 build/serializers.py:225 #, fuzzy #| msgid "Quantity must be greater than zero" msgid "Quantity cannot be greater than the output quantity" msgstr "数量必须大于0" -#: build/models.py:1001 build/serializers.py:548 +#: build/models.py:1002 build/serializers.py:548 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1352 +#: build/models.py:1353 #, fuzzy #| msgid "Delete parameters" msgid "Build Order Line Item" msgstr "删除参数" -#: build/models.py:1377 +#: build/models.py:1378 #, fuzzy #| msgid "Build Notes" msgid "Build object" msgstr "生产备注" -#: build/models.py:1391 build/models.py:1647 build/serializers.py:207 +#: build/models.py:1392 build/models.py:1648 build/serializers.py:207 #: build/serializers.py:254 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2508 -#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1340 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 -#: part/forms.py:48 part/models.py:3196 part/models.py:4104 +#: part/forms.py:48 part/models.py:3187 part/models.py:4095 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1199,41 +1199,41 @@ msgstr "生产备注" msgid "Quantity" msgstr "数量" -#: build/models.py:1392 +#: build/models.py:1393 #, fuzzy #| msgid "Stock required for build order" msgid "Required quantity for build order" msgstr "生产订单所需的库存" -#: build/models.py:1472 +#: build/models.py:1473 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "生产项必须指定生产产出,因为主部件已经被标记为可追踪的" -#: build/models.py:1481 +#: build/models.py:1482 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" -#: build/models.py:1491 order/models.py:1918 +#: build/models.py:1492 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "库存物品分配过度!" -#: build/models.py:1497 order/models.py:1921 +#: build/models.py:1498 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "分配数量必须大于0" -#: build/models.py:1503 +#: build/models.py:1504 msgid "Quantity must be 1 for serialized stock" msgstr "序列化库存的数量必须是 1" -#: build/models.py:1562 +#: build/models.py:1563 #, fuzzy #| msgid "Selected stock item not found in BOM" msgid "Selected stock item does not match BOM line" msgstr "在BOM中找不到选定的库存项" -#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184 -#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92 +#: build/models.py:1635 build/serializers.py:847 order/serializers.py:1184 +#: order/serializers.py:1205 stock/models.py:357 stock/serializers.py:92 #: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1250,19 +1250,19 @@ msgstr "在BOM中找不到选定的库存项" msgid "Stock Item" msgstr "库存项" -#: build/models.py:1635 +#: build/models.py:1636 msgid "Source stock item" msgstr "源库存项" -#: build/models.py:1648 +#: build/models.py:1649 msgid "Stock quantity to allocate to build" msgstr "分配到生产的数量" -#: build/models.py:1656 +#: build/models.py:1657 msgid "Install into" msgstr "安装到" -#: build/models.py:1657 +#: build/models.py:1658 msgid "Destination stock item" msgstr "目标库存项" @@ -1384,8 +1384,8 @@ msgid "Location for completed build outputs" msgstr "已完成生产产出的仓储地点" #: build/serializers.py:520 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:952 -#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165 +#: build/templates/build/detail.html:62 order/models.py:949 +#: order/models.py:2077 order/serializers.py:598 stock/admin.py:165 #: stock/serializers.py:933 stock/serializers.py:1472 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 @@ -1563,7 +1563,7 @@ msgstr "分配可选的BOM项目来建立订单" msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435 +#: build/serializers.py:1140 part/models.py:3990 part/models.py:4424 #: stock/api.py:794 msgid "BOM Item" msgstr "BOM项" @@ -1742,8 +1742,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "库存尚未被完全分配到此构建订单" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1343 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:308 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:196 #: report/templates/report/inventree_build_order_report.html:125 @@ -1780,8 +1780,8 @@ msgid "Completed Outputs" msgstr "已完成输出" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847 -#: order/models.py:1587 order/models.py:1701 order/models.py:1855 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:844 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1835,7 +1835,7 @@ msgstr "库存来源" msgid "Stock can be taken from any available location." msgstr "库存可以从任何可用的地点获得。" -#: build/templates/build/detail.html:49 order/models.py:1479 +#: build/templates/build/detail.html:49 order/models.py:1476 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "目的地" @@ -2015,7 +2015,7 @@ msgstr "不是有效的货币代码" msgid "No valid currency codes provided" msgstr "不是有效的货币代码" -#: common/currency.py:153 +#: common/currency.py:156 #, fuzzy #| msgid "Subcategories" msgid "No plugin" @@ -2415,7 +2415,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1446 part/admin.py:108 part/models.py:3841 +#: common/models.py:1446 part/admin.py:108 part/models.py:3832 #: report/models.py:293 report/models.py:360 report/serializers.py:90 #: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 @@ -2427,7 +2427,7 @@ msgstr "模板" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060 +#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1051 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 @@ -2438,7 +2438,7 @@ msgstr "组装" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1458 part/admin.py:95 part/models.py:1066 +#: common/models.py:1458 part/admin.py:95 part/models.py:1057 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "组件" @@ -2447,7 +2447,7 @@ msgstr "组件" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1464 part/admin.py:100 part/models.py:1078 +#: common/models.py:1464 part/admin.py:100 part/models.py:1069 msgid "Purchaseable" msgstr "可购买" @@ -2455,7 +2455,7 @@ msgstr "可购买" msgid "Parts are purchaseable by default" msgstr "商品默认可购买" -#: common/models.py:1470 part/admin.py:104 part/models.py:1084 +#: common/models.py:1470 part/admin.py:104 part/models.py:1075 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "可销售" @@ -2464,7 +2464,7 @@ msgstr "可销售" msgid "Parts are salable by default" msgstr "商品默认可销售" -#: common/models.py:1476 part/admin.py:113 part/models.py:1072 +#: common/models.py:1476 part/admin.py:113 part/models.py:1063 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 @@ -2475,7 +2475,7 @@ msgstr "可追踪" msgid "Parts are trackable by default" msgstr "商品默认可跟踪" -#: common/models.py:1482 part/admin.py:117 part/models.py:1094 +#: common/models.py:1482 part/admin.py:117 part/models.py:1085 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 @@ -3588,7 +3588,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2516 company/serializers.py:497 order/admin.py:42 -#: order/models.py:1382 order/models.py:2301 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 @@ -3612,7 +3612,7 @@ msgid "Name for this webhook" msgstr "" #: common/models.py:2627 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1089 +#: machine/models.py:39 part/admin.py:88 part/models.py:1080 #: plugin/models.py:66 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 @@ -3717,7 +3717,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2960 company/models.py:156 part/models.py:973 +#: common/models.py:2960 company/models.py:156 part/models.py:964 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3887,19 +3887,19 @@ msgstr "关键词" msgid "Task keyword arguments" msgstr "" -#: common/validators.py:43 +#: common/validators.py:42 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:57 +#: common/validators.py:54 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:68 +#: common/validators.py:65 msgid "An empty domain is not allowed." msgstr "不允许空域。" -#: common/validators.py:70 +#: common/validators.py:67 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "无效的域名: {domain}" @@ -4003,7 +4003,7 @@ msgid "Contact email address" msgstr "联系人电子邮件" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: order/models.py:342 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -4163,8 +4163,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "描述 (可选)" -#: company/models.py:489 company/models.py:792 stock/models.py:768 -#: stock/serializers.py:398 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:765 +#: stock/serializers.py:423 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4235,7 +4235,7 @@ msgid "Parameter value" msgstr "参数值" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1053 part/models.py:3692 +#: part/admin.py:57 part/models.py:1044 part/models.py:3683 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 @@ -4261,7 +4261,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:486 +#: company/templates/company/supplier_part.html:129 order/models.py:485 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 #: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 @@ -4303,7 +4303,7 @@ msgid "Supplier part description" msgstr "供应商商品描述" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4130 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -4313,16 +4313,16 @@ msgstr "供应商商品描述" msgid "Note" msgstr "备注" -#: company/models.py:857 part/models.py:2011 +#: company/models.py:857 part/models.py:2002 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:2012 +#: company/models.py:858 part/models.py:2003 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低收费(例如库存费)" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482 +#: stock/admin.py:229 stock/models.py:796 stock/serializers.py:1482 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4347,7 +4347,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:2018 +#: company/models.py:892 part/models.py:2009 msgid "multiple" msgstr "" @@ -4443,10 +4443,10 @@ msgstr "从 URL 下载图片" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:940 -#: order/models.py:2068 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:148 stock/models.py:821 -#: stock/models.py:822 stock/serializers.py:1232 +#: company/templates/company/company_base.html:92 order/models.py:937 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:818 +#: stock/models.py:819 stock/serializers.py:1232 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4461,7 +4461,7 @@ msgstr "客户" msgid "Uses default currency" msgstr "使用默认货币" -#: company/templates/company/company_base.html:124 order/models.py:353 +#: company/templates/company/company_base.html:124 order/models.py:352 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 @@ -4726,7 +4726,7 @@ msgstr "地址" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:779 stock/templates/stock/item_base.html:233 +#: stock/models.py:776 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 @@ -4788,12 +4788,12 @@ msgid "Supplier Part Stock" msgstr "供货商商品库存" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4991,7 +4991,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 @@ -5016,9 +5016,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540 -#: order/models.py:1586 order/models.py:1700 order/models.py:1854 -#: order/models.py:2267 order/models.py:2318 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -5035,8 +5035,8 @@ msgstr "订单编码" msgid "Order Pending" msgstr "待定" -#: order/api.py:1509 order/models.py:380 order/models.py:1432 -#: order/models.py:1541 order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:379 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:119 stock/templates/stock/item_base.html:176 @@ -5049,8 +5049,8 @@ msgstr "待定" msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2017 order/models.py:2268 -#: order/models.py:2319 order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -5060,208 +5060,208 @@ msgstr "" msgid "Return Order" msgstr "已退回" -#: order/models.py:90 +#: order/models.py:91 #, fuzzy #| msgid "User or group responsible for this order" msgid "Total price for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:95 order/serializers.py:72 +#: order/models.py:96 order/serializers.py:72 #, fuzzy #| msgid "Currency" msgid "Order Currency" msgstr "货币" -#: order/models.py:98 order/serializers.py:73 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:247 +#: order/models.py:246 #, fuzzy #| msgid "Build output does not match the parent build" msgid "Contact does not match selected company" msgstr "生产产出与对应生产不匹配" -#: order/models.py:290 +#: order/models.py:289 #, fuzzy #| msgid "Description (optional)" msgid "Order description (optional)" msgstr "描述 (可选)" -#: order/models.py:299 +#: order/models.py:298 #, fuzzy #| msgid "User or group responsible for this order" msgid "Select project code for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:303 order/models.py:1337 order/models.py:1753 +#: order/models.py:302 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "" -#: order/models.py:311 +#: order/models.py:310 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:325 +#: order/models.py:324 msgid "Created By" msgstr "" -#: order/models.py:333 +#: order/models.py:332 msgid "User or group responsible for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:344 +#: order/models.py:343 #, fuzzy #| msgid "Priority of this build order" msgid "Point of contact for this order" msgstr "此构建订单的优先级" -#: order/models.py:354 +#: order/models.py:353 #, fuzzy #| msgid "User or group responsible for this order" msgid "Company address for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:464 order/models.py:929 +#: order/models.py:463 order/models.py:926 msgid "Order reference" msgstr "" -#: order/models.py:472 order/models.py:953 +#: order/models.py:471 order/models.py:950 msgid "Purchase order status" msgstr "" -#: order/models.py:487 +#: order/models.py:486 msgid "Company from which the items are being ordered" msgstr "订购该商品的公司" -#: order/models.py:498 order/templates/order/order_base.html:148 +#: order/models.py:497 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:499 +#: order/models.py:498 msgid "Supplier order reference code" msgstr "" -#: order/models.py:508 +#: order/models.py:507 msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2094 +#: order/models.py:513 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2095 +#: order/models.py:514 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2102 +#: order/models.py:521 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:566 +#: order/models.py:565 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:760 +#: order/models.py:759 msgid "Quantity must be a positive number" msgstr "数量必须大于0" -#: order/models.py:941 +#: order/models.py:938 msgid "Company to which the items are being sold" msgstr "向其出售该商品的公司" -#: order/models.py:964 order/models.py:2087 +#: order/models.py:961 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:965 order/models.py:2088 +#: order/models.py:962 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:969 order/models.py:1707 +#: order/models.py:966 order/models.py:1704 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:978 +#: order/models.py:975 msgid "shipped by" msgstr "" -#: order/models.py:1027 +#: order/models.py:1024 #, fuzzy #| msgid "Build output is already completed" msgid "Order is already complete" msgstr "生产产出已完成" -#: order/models.py:1030 +#: order/models.py:1027 #, fuzzy #| msgid "Order cannot be cancelled" msgid "Order is already cancelled" msgstr "无法取消订单" -#: order/models.py:1034 +#: order/models.py:1031 #, fuzzy #| msgid "Build Order is ready to mark as completed" msgid "Only an open order can be marked as complete" msgstr "构建订单已准备好标记为已完成" -#: order/models.py:1038 +#: order/models.py:1035 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1043 +#: order/models.py:1040 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1309 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1326 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1333 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1345 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1366 +#: order/models.py:1363 #, fuzzy #| msgid "Description (optional)" msgid "Line item description (optional)" msgstr "描述 (可选)" -#: order/models.py:1372 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1373 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1383 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1416 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1423 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1451 +#: order/models.py:1448 msgid "Supplier part" msgstr "供应商商品" -#: order/models.py:1458 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 @@ -5271,198 +5271,198 @@ msgstr "供应商商品" msgid "Received" msgstr "" -#: order/models.py:1459 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532 +#: order/models.py:1464 stock/models.py:937 stock/serializers.py:557 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "采购价格" -#: order/models.py:1468 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1483 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1574 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1579 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1605 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "销售价格" -#: order/models.py:1606 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1615 order/status_codes.py:43 +#: order/models.py:1612 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "已发货" -#: order/models.py:1616 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1708 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1714 templates/js/translated/sales_order.js:1072 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1715 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1723 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1724 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1355 #: order/serializers.py:1465 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1732 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1740 +#: order/models.py:1737 msgid "Tracking Number" msgstr "" -#: order/models.py:1741 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1748 +#: order/models.py:1745 msgid "Invoice Number" msgstr "" -#: order/models.py:1749 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1769 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1772 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1890 order/models.py:1892 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1899 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1902 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1905 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1924 order/serializers.py:1232 +#: order/models.py:1921 order/serializers.py:1232 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1927 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1928 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1936 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1945 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1958 order/models.py:2275 +#: order/models.py:1955 order/models.py:2272 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1959 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1968 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2057 +#: order/models.py:2054 #, fuzzy #| msgid "Build Order Reference" msgid "Return Order reference" msgstr "相关生产订单" -#: order/models.py:2069 +#: order/models.py:2066 #, fuzzy #| msgid "Company from which the items are being ordered" msgid "Company from which items are being returned" msgstr "订购该商品的公司" -#: order/models.py:2081 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2260 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2276 +#: order/models.py:2273 #, fuzzy #| msgid "Returned from customer" msgid "Select item to return from customer" msgstr "从客户退货" -#: order/models.py:2282 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2283 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2294 templates/js/translated/return_order.js:732 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2295 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2302 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -6101,12 +6101,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:406 part/models.py:3981 part/stocktake.py:219 #: stock/admin.py:153 msgid "Part ID" msgstr "商品ID" -#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220 +#: part/admin.py:41 part/admin.py:413 part/models.py:3982 part/stocktake.py:220 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -6115,20 +6115,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:939 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:948 part/templates/part/part_base.html:277 #: report/models.py:161 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:930 +#: part/admin.py:53 part/admin.py:319 part/models.py:921 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "关键词" @@ -6155,11 +6155,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:907 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1035 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "最低库存" @@ -6172,12 +6172,12 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: part/admin.py:155 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: part/admin.py:158 part/models.py:3112 part/models.py:3126 #: templates/js/translated/part.js:980 msgid "Maximum Cost" msgstr "" @@ -6195,7 +6195,7 @@ msgstr "" msgid "Category Path" msgstr "类别路径" -#: part/admin.py:325 part/models.py:394 part/serializers.py:118 +#: part/admin.py:325 part/models.py:395 part/serializers.py:118 #: part/serializers.py:274 part/serializers.py:393 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 @@ -6219,7 +6219,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3992 +#: part/admin.py:410 part/models.py:3983 msgid "Part IPN" msgstr "" @@ -6319,7 +6319,7 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935 +#: part/api.py:1514 part/models.py:931 part/models.py:3411 part/models.py:3926 #: part/serializers.py:408 part/serializers.py:1137 #: part/templates/part/part_base.html:260 stock/api.py:781 #: templates/InvenTree/settings/settings_staff_js.html:300 @@ -6332,7 +6332,7 @@ msgstr "类别" msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:103 part/models.py:983 +#: part/bom.py:170 part/models.py:104 part/models.py:974 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "默认仓储地点" @@ -6346,378 +6346,378 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3927 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "商品类别" -#: part/models.py:85 part/templates/part/category.html:136 +#: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "商品类别" -#: part/models.py:104 +#: part/models.py:105 msgid "Default location for parts in this category" msgstr "此类别商品的默认仓储地点" -#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:111 +#: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Default keywords" msgstr "" -#: part/models.py:121 +#: part/models.py:122 msgid "Default keywords for parts in this category" msgstr "此类别商品的默认关键字" -#: part/models.py:127 stock/models.py:85 stock/models.py:156 +#: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:128 stock/models.py:157 +#: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" msgstr "" -#: part/models.py:150 +#: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:483 +#: part/models.py:484 #, fuzzy #| msgid "Print actions" msgid "Cannot delete this part as it is still active" msgstr "打印操作" -#: part/models.py:490 +#: part/models.py:489 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:660 +#: part/models.py:657 #, fuzzy, python-brace-format #| msgid "IPN must match regex pattern {pat}" msgid "IPN must match regex pattern {pattern}" msgstr "IPN 必须匹配正则表达式 {pat}" -#: part/models.py:740 +#: part/models.py:735 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:845 +#: part/models.py:836 msgid "Duplicate IPN not allowed in part settings" msgstr "在商品设置中不允许重复的IPN" -#: part/models.py:855 +#: part/models.py:846 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:870 +#: part/models.py:861 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:899 part/models.py:3991 +#: part/models.py:890 part/models.py:3982 msgid "Part name" msgstr "商品名称" -#: part/models.py:904 +#: part/models.py:895 msgid "Is Template" msgstr "" -#: part/models.py:905 +#: part/models.py:896 msgid "Is this part a template part?" msgstr "" -#: part/models.py:915 +#: part/models.py:906 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:923 +#: part/models.py:914 #, fuzzy #| msgid "Description (optional)" msgid "Part description (optional)" msgstr "描述 (可选)" -#: part/models.py:931 +#: part/models.py:922 msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的关键字" -#: part/models.py:941 +#: part/models.py:932 msgid "Part category" msgstr "商品类别" -#: part/models.py:949 +#: part/models.py:940 msgid "Internal Part Number" msgstr "内部商品编号" -#: part/models.py:956 +#: part/models.py:947 msgid "Part revision or version number" msgstr "商品版本号" -#: part/models.py:981 +#: part/models.py:972 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1027 part/templates/part/part_base.html:376 +#: part/models.py:1018 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1028 +#: part/models.py:1019 msgid "Default supplier part" msgstr "默认供应商商品" -#: part/models.py:1035 +#: part/models.py:1026 msgid "Default Expiry" msgstr "" -#: part/models.py:1036 +#: part/models.py:1027 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1045 +#: part/models.py:1036 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1054 +#: part/models.py:1045 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1061 +#: part/models.py:1052 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1067 +#: part/models.py:1058 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1073 +#: part/models.py:1064 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1079 +#: part/models.py:1070 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1085 +#: part/models.py:1076 msgid "Can this part be sold to customers?" msgstr "此商品可以销售给客户吗?" -#: part/models.py:1089 +#: part/models.py:1080 msgid "Is this part active?" msgstr "" -#: part/models.py:1095 +#: part/models.py:1086 msgid "Is this a virtual part, such as a software product or license?" msgstr "这是一个虚拟商品,如软件产品或许可证吗?" -#: part/models.py:1101 +#: part/models.py:1092 msgid "BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1093 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1110 +#: part/models.py:1101 msgid "BOM checked by" msgstr "" -#: part/models.py:1115 +#: part/models.py:1106 msgid "BOM checked date" msgstr "" -#: part/models.py:1131 +#: part/models.py:1122 msgid "Creation User" msgstr "新建用户" -#: part/models.py:1141 +#: part/models.py:1132 #, fuzzy #| msgid "User or group responsible for this order" msgid "Owner responsible for this part" msgstr "负责此订单的用户或群组" -#: part/models.py:1146 part/templates/part/part_base.html:339 +#: part/models.py:1137 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:2019 +#: part/models.py:2010 msgid "Sell multiple" msgstr "" -#: part/models.py:3028 +#: part/models.py:3019 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3044 +#: part/models.py:3035 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3045 +#: part/models.py:3036 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3051 +#: part/models.py:3042 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3043 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3049 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3050 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3065 +#: part/models.py:3056 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3066 +#: part/models.py:3057 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3072 +#: part/models.py:3063 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3073 +#: part/models.py:3064 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3079 +#: part/models.py:3070 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3080 +#: part/models.py:3071 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3086 +#: part/models.py:3077 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3087 +#: part/models.py:3078 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3093 +#: part/models.py:3084 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3085 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3100 +#: part/models.py:3091 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3101 +#: part/models.py:3092 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3107 +#: part/models.py:3098 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3099 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3115 +#: part/models.py:3106 msgid "Override minimum cost" msgstr "" -#: part/models.py:3122 +#: part/models.py:3113 msgid "Override maximum cost" msgstr "" -#: part/models.py:3129 +#: part/models.py:3120 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3136 +#: part/models.py:3127 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3142 +#: part/models.py:3133 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3143 +#: part/models.py:3134 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3149 +#: part/models.py:3140 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3150 +#: part/models.py:3141 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3156 +#: part/models.py:3147 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3157 +#: part/models.py:3148 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3163 +#: part/models.py:3154 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3164 +#: part/models.py:3155 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3183 +#: part/models.py:3174 msgid "Part for stocktake" msgstr "" -#: part/models.py:3188 +#: part/models.py:3179 msgid "Item Count" msgstr "" -#: part/models.py:3189 +#: part/models.py:3180 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3197 +#: part/models.py:3188 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3201 part/models.py:3284 +#: part/models.py:3192 part/models.py:3275 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6729,348 +6729,348 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3202 +#: part/models.py:3193 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3210 +#: part/models.py:3201 msgid "Additional notes" msgstr "" -#: part/models.py:3220 +#: part/models.py:3211 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3226 +#: part/models.py:3217 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3227 +#: part/models.py:3218 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3233 +#: part/models.py:3224 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3234 +#: part/models.py:3225 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3281 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3291 +#: part/models.py:3282 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3287 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3297 +#: part/models.py:3288 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3307 +#: part/models.py:3298 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3469 +#: part/models.py:3460 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3490 part/models.py:3654 +#: part/models.py:3481 part/models.py:3645 #, fuzzy #| msgid "Key string must be unique" msgid "Choices must be unique" msgstr "关键字必须是唯一的" -#: part/models.py:3501 +#: part/models.py:3492 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3512 +#: part/models.py:3503 #, fuzzy #| msgid "Attachment with this filename already exists" msgid "Test template with the same key already exists for part" msgstr "使用此文件名的附件已存在" -#: part/models.py:3529 templates/js/translated/part.js:2880 +#: part/models.py:3520 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3530 +#: part/models.py:3521 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3536 +#: part/models.py:3527 msgid "Test Key" msgstr "" -#: part/models.py:3537 +#: part/models.py:3528 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3544 +#: part/models.py:3535 msgid "Test Description" msgstr "" -#: part/models.py:3545 +#: part/models.py:3536 msgid "Enter description for this test" msgstr "" -#: part/models.py:3549 report/models.py:208 +#: part/models.py:3540 report/models.py:208 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "已启用" -#: part/models.py:3549 +#: part/models.py:3540 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3554 templates/js/translated/part.js:2909 +#: part/models.py:3545 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3555 +#: part/models.py:3546 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3560 templates/js/translated/part.js:2917 +#: part/models.py:3551 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3561 +#: part/models.py:3552 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3566 templates/js/translated/part.js:2924 +#: part/models.py:3557 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3568 +#: part/models.py:3559 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637 +#: part/models.py:3565 part/models.py:3704 templates/js/translated/part.js:1637 msgid "Choices" msgstr "" -#: part/models.py:3575 +#: part/models.py:3566 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3629 +#: part/models.py:3620 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3634 +#: part/models.py:3625 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3671 +#: part/models.py:3662 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3686 +#: part/models.py:3677 msgid "Parameter Name" msgstr "" -#: part/models.py:3693 +#: part/models.py:3684 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3701 +#: part/models.py:3692 msgid "Parameter description" msgstr "" -#: part/models.py:3707 templates/js/translated/part.js:1628 +#: part/models.py:3698 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3708 +#: part/models.py:3699 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3714 +#: part/models.py:3705 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3791 +#: part/models.py:3782 #, fuzzy #| msgid "Invalid choice for parent build" msgid "Invalid choice for parameter value" msgstr "上级生产选项无效" -#: part/models.py:3834 +#: part/models.py:3825 msgid "Parent Part" msgstr "" -#: part/models.py:3842 part/models.py:3943 part/models.py:3944 +#: part/models.py:3833 part/models.py:3934 part/models.py:3935 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:3847 +#: part/models.py:3838 msgid "Data" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "Parameter Value" msgstr "" -#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3941 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "默认值" -#: part/models.py:3951 +#: part/models.py:3942 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3989 +#: part/models.py:3980 msgid "Part ID or part name" msgstr "" -#: part/models.py:3990 +#: part/models.py:3981 msgid "Unique part ID value" msgstr "" -#: part/models.py:3992 +#: part/models.py:3983 msgid "Part IPN value" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "Level" msgstr "" -#: part/models.py:3993 +#: part/models.py:3984 msgid "BOM level" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "Select parent part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4084 msgid "Sub part" msgstr "" -#: part/models.py:4094 +#: part/models.py:4085 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4105 +#: part/models.py:4096 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4111 +#: part/models.py:4102 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4124 part/templates/part/upload_bom.html:55 +#: part/models.py:4115 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4132 +#: part/models.py:4123 msgid "BOM item reference" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "BOM item notes" msgstr "" -#: part/models.py:4146 +#: part/models.py:4137 msgid "Checksum" msgstr "" -#: part/models.py:4147 +#: part/models.py:4138 msgid "BOM line checksum" msgstr "" -#: part/models.py:4152 templates/js/translated/table_filters.js:174 +#: part/models.py:4143 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4153 +#: part/models.py:4144 #, fuzzy #| msgid "Some stock items have been overallocated" msgid "This BOM item has been validated" msgstr "一些库存项已被过度分配" -#: part/models.py:4158 part/templates/part/upload_bom.html:57 +#: part/models.py:4149 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4159 +#: part/models.py:4150 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4164 part/templates/part/upload_bom.html:56 +#: part/models.py:4155 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4165 +#: part/models.py:4156 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4250 stock/models.py:664 +#: part/models.py:4241 stock/models.py:661 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4260 part/models.py:4262 +#: part/models.py:4251 part/models.py:4253 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4402 +#: part/models.py:4391 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4423 +#: part/models.py:4412 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4436 +#: part/models.py:4425 msgid "Parent BOM item" msgstr "" -#: part/models.py:4444 +#: part/models.py:4433 msgid "Substitute part" msgstr "" -#: part/models.py:4460 +#: part/models.py:4449 msgid "Part 1" msgstr "" -#: part/models.py:4468 +#: part/models.py:4457 msgid "Part 2" msgstr "" -#: part/models.py:4469 +#: part/models.py:4458 msgid "Select Related Part" msgstr "" -#: part/models.py:4488 +#: part/models.py:4477 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4493 +#: part/models.py:4482 msgid "Duplicate relationship already exists" msgstr "" @@ -7088,7 +7088,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538 +#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:563 msgid "Purchase currency of this stock item" msgstr "" @@ -7438,11 +7438,11 @@ msgstr "" msgid "A new stocktake report is available for download" msgstr "" -#: part/tasks.py:38 +#: part/tasks.py:37 msgid "Low stock notification" msgstr "" -#: part/tasks.py:40 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -8695,17 +8695,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:597 +#: plugin/registry.py:598 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:600 +#: plugin/registry.py:601 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:602 +#: plugin/registry.py:603 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8891,19 +8891,19 @@ msgstr "重命名文件出错" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/helpers.py:41 +#: report/helpers.py:43 msgid "A4" msgstr "" -#: report/helpers.py:42 +#: report/helpers.py:44 msgid "A3" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:45 msgid "Legal" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:46 msgid "Letter" msgstr "" @@ -9142,7 +9142,7 @@ msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:826 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:823 #: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 @@ -9271,7 +9271,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:206 stock/models.py:806 +#: stock/admin.py:206 stock/models.py:803 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -9298,7 +9298,7 @@ msgstr "" msgid "Delete on Deplete" msgstr "删除模板" -#: stock/admin.py:261 stock/models.py:900 +#: stock/admin.py:261 stock/models.py:897 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" @@ -9369,268 +9369,268 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:59 +#: stock/models.py:60 #, fuzzy #| msgid "Stock Location" msgid "Stock Location type" msgstr "仓储地点" -#: stock/models.py:60 +#: stock/models.py:61 #, fuzzy #| msgid "Stock Locations" msgid "Stock Location types" msgstr "仓储地点" -#: stock/models.py:86 +#: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:123 stock/models.py:788 +#: stock/models.py:124 stock/models.py:785 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "仓储地点" -#: stock/models.py:124 stock/templates/stock/location.html:186 +#: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "仓储地点" -#: stock/models.py:166 stock/models.py:949 +#: stock/models.py:167 stock/models.py:946 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:167 stock/models.py:950 +#: stock/models.py:168 stock/models.py:947 msgid "Select Owner" msgstr "" -#: stock/models.py:175 +#: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:182 templates/js/translated/stock.js:2781 +#: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:183 +#: stock/models.py:184 msgid "This is an external stock location" msgstr "" -#: stock/models.py:189 templates/js/translated/stock.js:2790 +#: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 #, fuzzy #| msgid "Location" msgid "Location type" msgstr "地点" -#: stock/models.py:193 +#: stock/models.py:194 #, fuzzy #| msgid "Stock item created" msgid "Stock location type of this location" msgstr "库存项已创建" -#: stock/models.py:262 +#: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:643 +#: stock/models.py:640 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:670 stock/serializers.py:422 +#: stock/models.py:667 stock/serializers.py:447 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:687 +#: stock/models.py:684 #, fuzzy, python-brace-format #| msgid "Part type ('{pf}') must be {pe}" msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "商品类型 ('{pf}') 必须是 {pe}" -#: stock/models.py:697 stock/models.py:710 +#: stock/models.py:694 stock/models.py:707 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:700 +#: stock/models.py:697 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:724 +#: stock/models.py:721 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:729 +#: stock/models.py:726 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:742 +#: stock/models.py:739 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:770 +#: stock/models.py:767 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:777 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:792 +#: stock/models.py:789 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:800 stock/serializers.py:1483 +#: stock/models.py:797 stock/serializers.py:1483 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:811 +#: stock/models.py:808 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:830 +#: stock/models.py:827 msgid "Serial number for this item" msgstr "" -#: stock/models.py:844 stock/serializers.py:1466 +#: stock/models.py:841 stock/serializers.py:1466 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:849 +#: stock/models.py:846 msgid "Stock Quantity" msgstr "" -#: stock/models.py:859 +#: stock/models.py:856 msgid "Source Build" msgstr "" -#: stock/models.py:862 +#: stock/models.py:859 msgid "Build for this stock item" msgstr "" -#: stock/models.py:869 stock/templates/stock/item_base.html:363 +#: stock/models.py:866 stock/templates/stock/item_base.html:363 #, fuzzy #| msgid "Issued By" msgid "Consumed By" msgstr "发布者" -#: stock/models.py:872 +#: stock/models.py:869 #, fuzzy #| msgid "BuildOrder to which this build is allocated" msgid "Build order which consumed this stock item" msgstr "此次生产匹配的订单" -#: stock/models.py:881 +#: stock/models.py:878 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:882 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:891 +#: stock/models.py:888 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:902 +#: stock/models.py:899 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:920 +#: stock/models.py:917 msgid "Delete on deplete" msgstr "" -#: stock/models.py:921 +#: stock/models.py:918 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:941 +#: stock/models.py:938 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:972 +#: stock/models.py:969 msgid "Converted to part" msgstr "" -#: stock/models.py:1490 +#: stock/models.py:1485 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1496 +#: stock/models.py:1491 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1499 #, fuzzy, python-brace-format #| msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" -#: stock/models.py:1510 +#: stock/models.py:1505 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1515 +#: stock/models.py:1510 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1523 stock/serializers.py:661 +#: stock/models.py:1518 stock/serializers.py:661 msgid "Serial numbers already exist" msgstr "序列号已存在" -#: stock/models.py:1620 +#: stock/models.py:1615 #, fuzzy #| msgid "Part image not found" msgid "Test template does not exist" msgstr "未找到商品图像" -#: stock/models.py:1638 +#: stock/models.py:1633 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1642 +#: stock/models.py:1637 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1645 +#: stock/models.py:1640 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1643 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1651 +#: stock/models.py:1646 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1654 +#: stock/models.py:1649 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1661 stock/serializers.py:1372 +#: stock/models.py:1656 stock/serializers.py:1372 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1665 +#: stock/models.py:1660 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1673 +#: stock/models.py:1668 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1673 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1905 +#: stock/models.py:1900 msgid "StockItem cannot be moved as it is not in stock" msgstr "" @@ -9778,11 +9778,11 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:439 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:534 +#: stock/serializers.py:559 msgid "Purchase price of this stock item, per unit or pack" msgstr "" @@ -9884,7 +9884,7 @@ msgstr "库存项已创建" #: stock/serializers.py:1022 stock/serializers.py:1085 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:220 +#: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" @@ -10438,30 +10438,30 @@ msgstr "您不在此仓储地的所有者列表中,无法编辑此仓储地。 msgid "Location Type" msgstr "地点" -#: stock/templates/stock/location.html:224 +#: stock/templates/stock/location.html:226 msgid "Create new stock location" msgstr "新建仓储地点" -#: stock/templates/stock/location.html:225 +#: stock/templates/stock/location.html:227 msgid "New Location" msgstr "新建仓储地点" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:297 #: templates/js/translated/stock.js:2572 #, fuzzy #| msgid "Stock Location" msgid "stock location" msgstr "仓储地点" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:319 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:392 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:403 msgid "Link Barcode to Stock Location" msgstr "" diff --git a/src/frontend/src/locales/bg/messages.po b/src/frontend/src/locales/bg/messages.po index 376ad3ecfb..c74ada9aac 100644 --- a/src/frontend/src/locales/bg/messages.po +++ b/src/frontend/src/locales/bg/messages.po @@ -6868,4 +6868,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/cs/messages.po b/src/frontend/src/locales/cs/messages.po index d7f3c3d303..c1c32bb594 100644 --- a/src/frontend/src/locales/cs/messages.po +++ b/src/frontend/src/locales/cs/messages.po @@ -6868,4 +6868,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/da/messages.po b/src/frontend/src/locales/da/messages.po index 13146a2cf2..3cf5417edb 100644 --- a/src/frontend/src/locales/da/messages.po +++ b/src/frontend/src/locales/da/messages.po @@ -6868,4 +6868,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/de/messages.po b/src/frontend/src/locales/de/messages.po index e4ee2c95c8..4e0a676eaf 100644 --- a/src/frontend/src/locales/de/messages.po +++ b/src/frontend/src/locales/de/messages.po @@ -6868,4 +6868,3 @@ msgstr "Dokumentation lesen" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "Ignorieren und weiter zur Desktopansicht" - diff --git a/src/frontend/src/locales/el/messages.po b/src/frontend/src/locales/el/messages.po index 2239e196dd..1b2194ae80 100644 --- a/src/frontend/src/locales/el/messages.po +++ b/src/frontend/src/locales/el/messages.po @@ -6868,4 +6868,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/es/messages.po b/src/frontend/src/locales/es/messages.po index fec7be6ef8..9b27847276 100644 --- a/src/frontend/src/locales/es/messages.po +++ b/src/frontend/src/locales/es/messages.po @@ -6868,4 +6868,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/fa/messages.po b/src/frontend/src/locales/fa/messages.po index 091293cdba..9a8537ea1b 100644 --- a/src/frontend/src/locales/fa/messages.po +++ b/src/frontend/src/locales/fa/messages.po @@ -6868,4 +6868,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/fi/messages.po b/src/frontend/src/locales/fi/messages.po index a565c68908..e2bee4e22c 100644 --- a/src/frontend/src/locales/fi/messages.po +++ b/src/frontend/src/locales/fi/messages.po @@ -6868,4 +6868,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/fr/messages.po b/src/frontend/src/locales/fr/messages.po index 762ad75d18..c801b80c9f 100644 --- a/src/frontend/src/locales/fr/messages.po +++ b/src/frontend/src/locales/fr/messages.po @@ -6868,4 +6868,3 @@ msgstr "Lire la documentation" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/he/messages.po b/src/frontend/src/locales/he/messages.po index 8c0eac159a..6664c2ee40 100644 --- a/src/frontend/src/locales/he/messages.po +++ b/src/frontend/src/locales/he/messages.po @@ -6868,4 +6868,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/hi/messages.po b/src/frontend/src/locales/hi/messages.po index edfc1da858..b94b597d86 100644 --- a/src/frontend/src/locales/hi/messages.po +++ b/src/frontend/src/locales/hi/messages.po @@ -6868,4 +6868,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/hu/messages.po b/src/frontend/src/locales/hu/messages.po index 07c17d6111..52ac331497 100644 --- a/src/frontend/src/locales/hu/messages.po +++ b/src/frontend/src/locales/hu/messages.po @@ -6868,4 +6868,3 @@ msgstr "Olvasd el a dokumentációt" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/it/messages.po b/src/frontend/src/locales/it/messages.po index fbfd48bba9..b46ae70ea4 100644 --- a/src/frontend/src/locales/it/messages.po +++ b/src/frontend/src/locales/it/messages.po @@ -6868,4 +6868,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/ja/messages.po b/src/frontend/src/locales/ja/messages.po index 8c8f671e0e..c65159264d 100644 --- a/src/frontend/src/locales/ja/messages.po +++ b/src/frontend/src/locales/ja/messages.po @@ -6868,4 +6868,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/ko/messages.po b/src/frontend/src/locales/ko/messages.po index afc0119a8a..518f214184 100644 --- a/src/frontend/src/locales/ko/messages.po +++ b/src/frontend/src/locales/ko/messages.po @@ -6868,4 +6868,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/lv/messages.po b/src/frontend/src/locales/lv/messages.po index 989c4bda59..919f60c87a 100644 --- a/src/frontend/src/locales/lv/messages.po +++ b/src/frontend/src/locales/lv/messages.po @@ -6868,4 +6868,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/nl/messages.po b/src/frontend/src/locales/nl/messages.po index baf74a62bd..8fc249046f 100644 --- a/src/frontend/src/locales/nl/messages.po +++ b/src/frontend/src/locales/nl/messages.po @@ -6868,4 +6868,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/no/messages.po b/src/frontend/src/locales/no/messages.po index d45d27107b..f597d9cc97 100644 --- a/src/frontend/src/locales/no/messages.po +++ b/src/frontend/src/locales/no/messages.po @@ -6868,4 +6868,3 @@ msgstr "Les dokumentasjonen" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/pl/messages.po b/src/frontend/src/locales/pl/messages.po index 2e02a7ad7b..f06089a982 100644 --- a/src/frontend/src/locales/pl/messages.po +++ b/src/frontend/src/locales/pl/messages.po @@ -6868,4 +6868,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/pt/messages.po b/src/frontend/src/locales/pt/messages.po index 1f2865e445..a695ea976e 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: 2024-06-12 23:00\n" +"PO-Revision-Date: 2024-06-18 00:23\n" "Last-Translator: \n" "Language-Team: Portuguese\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -44,7 +44,7 @@ msgstr "Imprimir Etiqueta" #: src/components/buttons/PrintingActions.tsx:101 msgid "Label printing completed successfully" -msgstr "Impressão de etiquetas concluída com sucesso" +msgstr "Impressão da etiqueta concluída com sucesso" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 @@ -4608,46 +4608,46 @@ msgstr "Detalhes da localização" #: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" -msgstr "" +msgstr "Peças padrão" #: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:329 #: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" -msgstr "" +msgstr "Editar Local de Estoque" #: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:334 msgid "Delete Stock Location" -msgstr "" +msgstr "Editar Local de Estoque" #: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" -msgstr "" +msgstr "Ações do item" #: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" -msgstr "" +msgstr "Ações para itens de estoque nesta localização" #: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" -msgstr "" +msgstr "Ações para localizações Filhas" #: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" -msgstr "" +msgstr "Ação para locais filhos nesta localização" #: src/pages/stock/LocationDetail.tsx:324 msgid "Location Actions" -msgstr "" +msgstr "Ações de localização" #: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" -msgstr "" +msgstr "Peça Base" #: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" -msgstr "" +msgstr "Estado do Estoque" #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" @@ -4659,16 +4659,16 @@ msgstr "" #: src/pages/stock/StockDetail.tsx:178 msgid "Installed In" -msgstr "" +msgstr "Instalado em" #: src/pages/stock/StockDetail.tsx:194 msgid "Consumed By" -msgstr "" +msgstr "Consumido por" #: src/pages/stock/StockDetail.tsx:203 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" -msgstr "" +msgstr "Ordem de Produção" #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" @@ -4680,31 +4680,31 @@ msgstr "" #: src/pages/stock/StockDetail.tsx:268 msgid "Stock Details" -msgstr "" +msgstr "Detalhes de Estoque" #: src/pages/stock/StockDetail.tsx:274 msgid "Stock Tracking" -msgstr "" +msgstr "Rastreamento de Estoque" #: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" -msgstr "" +msgstr "Dados de teste" #: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" -msgstr "" +msgstr "Itens instalados" #: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" -msgstr "" +msgstr "Itens Filhos" #: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" -msgstr "" +msgstr "Editar Item do Estoque" #: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" -msgstr "" +msgstr "Excluir Item de Estoque" #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" @@ -4712,52 +4712,52 @@ msgstr "" #: src/pages/stock/StockDetail.tsx:443 msgid "Stock Operations" -msgstr "" +msgstr "Operações de Stock" #: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" -msgstr "" +msgstr "Contar Estoque" #: src/pages/stock/StockDetail.tsx:458 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" -msgstr "" +msgstr "Adicionar estoque" #: src/pages/stock/StockDetail.tsx:466 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" -msgstr "" +msgstr "Remover Estoque" #: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" -msgstr "" +msgstr "Transferir" #: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" -msgstr "" +msgstr "Transferir Estoque" #: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" -msgstr "" +msgstr "Ações do Item do Estoque" #: src/tables/ColumnRenderers.tsx:42 msgid "No location set" -msgstr "" +msgstr "Nenhum local definido" #: src/tables/ColumnRenderers.tsx:207 msgid "Shipment Date" -msgstr "" +msgstr "Data de Envio" #: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" -msgstr "" +msgstr "Moeda" #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" -msgstr "" +msgstr "Selecionar Colunas" #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" @@ -4769,84 +4769,84 @@ msgstr "" #: src/tables/DownloadAction.tsx:22 msgid "CSV" -msgstr "" +msgstr "CSV" #: src/tables/DownloadAction.tsx:23 msgid "TSV" -msgstr "" +msgstr "TSV" #: src/tables/DownloadAction.tsx:24 msgid "Excel (.xls)" -msgstr "" +msgstr "Excel (.xls)" #: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" -msgstr "" +msgstr "Excel (.xlsx)" #: src/tables/DownloadAction.tsx:39 msgid "Download Data" -msgstr "" +msgstr "Descarregar dados" #: src/tables/Filter.tsx:88 #: src/tables/build/BuildOrderTable.tsx:126 msgid "Assigned to me" -msgstr "" +msgstr "Atribuído a mim" #: src/tables/Filter.tsx:89 #: src/tables/build/BuildOrderTable.tsx:127 msgid "Show orders assigned to me" -msgstr "" +msgstr "Mostrar pedidos atribuídos a mim" #: src/tables/Filter.tsx:96 msgid "Outstanding" -msgstr "" +msgstr "Pendente" #: src/tables/Filter.tsx:97 msgid "Show outstanding orders" -msgstr "" +msgstr "Mostrar pedidos pendentes" #: src/tables/Filter.tsx:104 #: src/tables/build/BuildOrderTable.tsx:119 msgid "Overdue" -msgstr "" +msgstr "Em atraso" #: src/tables/Filter.tsx:105 msgid "Show overdue orders" -msgstr "" +msgstr "Mostrar pedidos atrasados" #: src/tables/FilterSelectDrawer.tsx:51 msgid "Remove filter" -msgstr "" +msgstr "Remover filtro" #: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" -msgstr "" +msgstr "Selecionar filtro" #: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" -msgstr "" +msgstr "Filtro" #: src/tables/FilterSelectDrawer.tsx:144 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:181 msgid "Value" -msgstr "" +msgstr "Valor" #: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" -msgstr "" +msgstr "Selecionar valor do filtro" #: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" -msgstr "" +msgstr "Filtros de tabela" #: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" -msgstr "" +msgstr "Adicionar Filtro" #: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" -msgstr "" +msgstr "Limpar Filtros" #: src/tables/InvenTreeTable.tsx:119 #: src/tables/InvenTreeTable.tsx:390 @@ -5030,15 +5030,15 @@ msgstr "Adicionar Item na BOM" #: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" -msgstr "" +msgstr "Item BOM criado" #: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" -msgstr "" +msgstr "Editar Item da BOM" #: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" -msgstr "" +msgstr "Item da BOM atualizado" #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" @@ -5046,11 +5046,11 @@ msgstr "" #: src/tables/bom/BomTable.tsx:332 msgid "Delete BOM Item" -msgstr "" +msgstr "Apagar Item da BOM" #: src/tables/bom/BomTable.tsx:333 msgid "BOM item deleted" -msgstr "" +msgstr "Item da BOM excluído" #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" @@ -5058,7 +5058,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:343 msgid "View BOM" -msgstr "" +msgstr "Visualizar BOM" #: src/tables/bom/BomTable.tsx:348 #~ msgid "Delete Bom Item" @@ -5074,132 +5074,132 @@ msgstr "" #: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" -msgstr "" +msgstr "Validar linha da BOM" #: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" -msgstr "" +msgstr "Editar peças substitutas" #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" -msgstr "" +msgstr "Mostrar montagens ativas" #: src/tables/bom/UsedInTable.tsx:78 #: src/tables/part/PartTable.tsx:192 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" -msgstr "" +msgstr "Rastreável" #: src/tables/bom/UsedInTable.tsx:79 msgid "Show trackable assemblies" -msgstr "" +msgstr "Mostrar montagens rastreáveis" #: src/tables/build/BuildLineTable.tsx:31 #: src/tables/stock/StockItemTable.tsx:270 msgid "Allocated" -msgstr "" +msgstr "Alocado" #: src/tables/build/BuildLineTable.tsx:32 msgid "Show allocated lines" -msgstr "" +msgstr "Exibir linhas alocadas" #: src/tables/build/BuildLineTable.tsx:37 msgid "Show lines with available stock" -msgstr "" +msgstr "Exibir linhas com estoque disponível" #: src/tables/build/BuildLineTable.tsx:42 msgid "Show consumable lines" -msgstr "" +msgstr "Mostrar linhas de consumíveis" #: src/tables/build/BuildLineTable.tsx:47 msgid "Show optional lines" -msgstr "" +msgstr "Mostrar itens opcionais" #: src/tables/build/BuildLineTable.tsx:51 #: src/tables/stock/StockItemTable.tsx:329 msgid "Tracked" -msgstr "" +msgstr "Rastreado" #: src/tables/build/BuildLineTable.tsx:52 msgid "Show tracked lines" -msgstr "" +msgstr "Mostrar linhas rastreadas" #: src/tables/build/BuildLineTable.tsx:86 msgid "In production" -msgstr "" +msgstr "Em produção" #: src/tables/build/BuildLineTable.tsx:118 #: src/tables/stock/StockItemTable.tsx:175 msgid "No stock available" -msgstr "" +msgstr "Nenhum estoque disponível" #: src/tables/build/BuildLineTable.tsx:157 msgid "Unit Quantity" -msgstr "" +msgstr "Quantidade Unitária" #: src/tables/build/BuildLineTable.tsx:231 msgid "Order Stock" -msgstr "" +msgstr "Encomendar Estoque" #: src/tables/build/BuildLineTable.tsx:237 msgid "Build Stock" -msgstr "" +msgstr "Produzir Estoque" #: src/tables/build/BuildOrderTable.tsx:109 msgid "Show active orders" -msgstr "" +msgstr "Mostrar encomendas ativas" #: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 #: src/tables/sales/SalesOrderTable.tsx:53 msgid "Filter by order status" -msgstr "" +msgstr "Filtrar por estado do pedido" #: src/tables/build/BuildOrderTable.tsx:121 msgid "Show overdue status" -msgstr "" +msgstr "Mostrar estados atrasados" #: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:62 msgid "Filter by project code" -msgstr "" +msgstr "Filtrar por código de projeto" #: src/tables/build/BuildOrderTable.tsx:137 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:67 msgid "Has Project Code" -msgstr "" +msgstr "Possui Código do Projeto" #: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Filter by whether the purchase order has a project code" -msgstr "" +msgstr "Filtrar por se a ordem de compra tem um código de projeto" #: src/tables/build/BuildOrderTable.tsx:143 msgid "Filter by user who issued this order" -msgstr "" +msgstr "Filtrar por usuário que emitiu esta ordem" #: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Filter by responsible owner" -msgstr "" +msgstr "Filtrar pelo proprietário responsável" #: src/tables/build/BuildOutputTable.tsx:114 #: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" -msgstr "" +msgstr "Nova saída de produção" #: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" -msgstr "" +msgstr "Concluir saídas selecionadas" #: src/tables/build/BuildOutputTable.tsx:161 #~ msgid "Delete build output" @@ -5207,89 +5207,89 @@ msgstr "" #: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" -msgstr "" +msgstr "Remover saídas selecionadas" #: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" -msgstr "" +msgstr "Cancelar saídas selecionadas" #: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" -msgstr "" +msgstr "Atribuir" #: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" -msgstr "" +msgstr "Atribuir estoque para a produção" #: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" -msgstr "" +msgstr "Desalocar" #: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" -msgstr "" +msgstr "Desalocar estoque da produção" #: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" -msgstr "" +msgstr "Completo" #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" -msgstr "" +msgstr "Concluir Produção" #: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" -msgstr "" +msgstr "Sucata" #: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" -msgstr "" +msgstr "Cancelar Saída de Produção" #: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" -msgstr "" +msgstr "Cancelar Saída de Produção" #: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" -msgstr "" +msgstr "Saída da Produção" #: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" -msgstr "" +msgstr "Lote" #: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" -msgstr "" +msgstr "Itens Alocadas" #: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" -msgstr "" +msgstr "Testes Obrigatórios" #: src/tables/build/BuildOutputTable.tsx:319 #: src/tables/stock/StockItemTestResultTable.tsx:145 msgid "Test Results" -msgstr "" +msgstr "Resultados do teste" #: src/tables/company/AddressTable.tsx:121 #: src/tables/company/AddressTable.tsx:185 msgid "Add Address" -msgstr "" +msgstr "Adicionar endereço" #: src/tables/company/AddressTable.tsx:126 msgid "Address created" -msgstr "" +msgstr "Endereço criado" #: src/tables/company/AddressTable.tsx:135 msgid "Edit Address" -msgstr "" +msgstr "Editar Morada" #: src/tables/company/AddressTable.tsx:143 msgid "Delete Address" -msgstr "" +msgstr "Apagar Morada" #: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" -msgstr "" +msgstr "Tem a certeza que deseja apagar esta morada?" #: src/tables/company/CompanyTable.tsx:71 #~ msgid "New Company" @@ -5298,75 +5298,75 @@ msgstr "" #: src/tables/company/CompanyTable.tsx:74 #: src/tables/company/CompanyTable.tsx:123 msgid "Add Company" -msgstr "" +msgstr "Adicionar Empresa" #: src/tables/company/CompanyTable.tsx:96 msgid "Show active companies" -msgstr "" +msgstr "Mostrar Empresas ativas" #: src/tables/company/CompanyTable.tsx:101 msgid "Show companies which are suppliers" -msgstr "" +msgstr "Mostrar Empresas que são fornecedores" #: src/tables/company/CompanyTable.tsx:106 msgid "Show companies which are manufacturers" -msgstr "" +msgstr "Mostrar Empresas que são fabricantes" #: src/tables/company/CompanyTable.tsx:111 msgid "Show companies which are customers" -msgstr "" +msgstr "Mostrar Empresas que são clientes" #: src/tables/company/ContactTable.tsx:71 msgid "Edit Contact" -msgstr "" +msgstr "Editar Contato" #: src/tables/company/ContactTable.tsx:78 msgid "Add Contact" -msgstr "" +msgstr "Adicionar Contato" #: src/tables/company/ContactTable.tsx:89 msgid "Delete Contact" -msgstr "" +msgstr "Apagar Contato" #: src/tables/company/ContactTable.tsx:129 msgid "Add contact" -msgstr "" +msgstr "Adicionar contacto" #: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" -msgstr "" +msgstr "Ficheiro enviado" #: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" -msgstr "" +msgstr "Arquivo {0} enviado com sucesso" #: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" -msgstr "" +msgstr "Erro ao enviar" #: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" -msgstr "" +msgstr "Não foi possível fazer o upload do arquivo" #: src/tables/general/AttachmentTable.tsx:187 msgid "Upload Attachment" -msgstr "" +msgstr "Carregar anexo" #: src/tables/general/AttachmentTable.tsx:197 msgid "Edit Attachment" -msgstr "" +msgstr "Editar Anexo" #: src/tables/general/AttachmentTable.tsx:211 msgid "Delete Attachment" -msgstr "" +msgstr "Eliminar Anexo" #: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" -msgstr "" +msgstr "Adicionar anexo" #: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" -msgstr "" +msgstr "Adicionar ligação externa" #: src/tables/general/AttachmentTable.tsx:254 #~ msgid "Upload attachment" @@ -5374,89 +5374,89 @@ msgstr "" #: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" -msgstr "" +msgstr "Nenhum anexo encontrado" #: src/tables/general/AttachmentTable.tsx:325 msgid "Drag attachment file here to upload" -msgstr "" +msgstr "Arraste o arquivo de anexo aqui para enviar" #: src/tables/machine/MachineListTable.tsx:199 msgid "Machine restarted" -msgstr "" +msgstr "Máquina reiniciada" #: src/tables/machine/MachineListTable.tsx:221 #: src/tables/machine/MachineListTable.tsx:423 msgid "Restart required" -msgstr "" +msgstr "É necessário reiniciar" #: src/tables/machine/MachineListTable.tsx:225 msgid "Machine Actions" -msgstr "" +msgstr "Ações da máquina" #: src/tables/machine/MachineListTable.tsx:229 #: src/tables/machine/MachineListTable.tsx:232 msgid "Edit machine" -msgstr "" +msgstr "Editar Máquina" #: src/tables/machine/MachineListTable.tsx:244 #: src/tables/machine/MachineListTable.tsx:247 msgid "Delete machine" -msgstr "" +msgstr "Remover máquina" #: src/tables/machine/MachineListTable.tsx:248 msgid "Machine successfully deleted." -msgstr "" +msgstr "Máquina excluída com sucesso." #: src/tables/machine/MachineListTable.tsx:252 msgid "Are you sure you want to remove the machine \"{0}\"?" -msgstr "" +msgstr "Tem certeza de que deseja remover a máquina \"{0}\"?" #: src/tables/machine/MachineListTable.tsx:263 msgid "Restart" -msgstr "" +msgstr "Reiniciar" #: src/tables/machine/MachineListTable.tsx:265 msgid "Restart machine" -msgstr "" +msgstr "Reiniciar a máquina" #: src/tables/machine/MachineListTable.tsx:267 msgid "manual restart required" -msgstr "" +msgstr "Requer reinicialização manual" #: src/tables/machine/MachineListTable.tsx:283 msgid "Machine information" -msgstr "" +msgstr "Informações da máquina" #: src/tables/machine/MachineListTable.tsx:294 #: src/tables/machine/MachineListTable.tsx:590 msgid "Machine Type" -msgstr "" +msgstr "Tipo de Máquina" #: src/tables/machine/MachineListTable.tsx:307 msgid "Machine Driver" -msgstr "" +msgstr "Controlador da Máquina" #: src/tables/machine/MachineListTable.tsx:320 msgid "Initialized" -msgstr "" +msgstr "Inicializado" #: src/tables/machine/MachineListTable.tsx:341 #: src/tables/machine/MachineTypeTable.tsx:261 msgid "Errors" -msgstr "" +msgstr "Erros" #: src/tables/machine/MachineListTable.tsx:349 #: src/tables/machine/MachineTypeTable.tsx:269 msgid "No errors reported" -msgstr "" +msgstr "Não há erros relatados" #: src/tables/machine/MachineListTable.tsx:369 msgid "Machine Settings" -msgstr "" +msgstr "Definições da Máquina" #: src/tables/machine/MachineListTable.tsx:380 msgid "Driver Settings" -msgstr "" +msgstr "Configurações do controlador" #: src/tables/machine/MachineListTable.tsx:494 #~ msgid "Create machine" @@ -5464,143 +5464,143 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:497 msgid "Add machine" -msgstr "" +msgstr "Adicionar máquina" #: src/tables/machine/MachineListTable.tsx:552 msgid "Machine detail" -msgstr "" +msgstr "Detalhes da Máquina" #: src/tables/machine/MachineListTable.tsx:599 msgid "Driver" -msgstr "" +msgstr "Controlador" #: src/tables/machine/MachineTypeTable.tsx:73 msgid "Builtin driver" -msgstr "" +msgstr "Controlador embutido" #: src/tables/machine/MachineTypeTable.tsx:89 msgid "Machine type not found." -msgstr "" +msgstr "Tipo de máquina não encontrado." #: src/tables/machine/MachineTypeTable.tsx:97 msgid "Machine type information" -msgstr "" +msgstr "Informação do tipo máquina" #: src/tables/machine/MachineTypeTable.tsx:110 #: src/tables/machine/MachineTypeTable.tsx:217 msgid "Slug" -msgstr "" +msgstr "Lesma" #: src/tables/machine/MachineTypeTable.tsx:118 #: src/tables/machine/MachineTypeTable.tsx:238 msgid "Provider plugin" -msgstr "" +msgstr "Extensão do Provedor" #: src/tables/machine/MachineTypeTable.tsx:130 #: src/tables/machine/MachineTypeTable.tsx:250 msgid "Provider file" -msgstr "" +msgstr "Arquivo do Provedor" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 #: src/tables/plugin/PluginListTable.tsx:180 #: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" -msgstr "" +msgstr "Embutido" #: src/tables/machine/MachineTypeTable.tsx:146 msgid "Available drivers" -msgstr "" +msgstr "Controladores Disponíveis" #: src/tables/machine/MachineTypeTable.tsx:196 msgid "Machine driver not found." -msgstr "" +msgstr "Controlador da máquina não encontrado." #: src/tables/machine/MachineTypeTable.tsx:204 msgid "Machine driver information" -msgstr "" +msgstr "Informação do controlador da máquina" #: src/tables/machine/MachineTypeTable.tsx:224 msgid "Machine type" -msgstr "" +msgstr "Tipo de Máquina" #: src/tables/machine/MachineTypeTable.tsx:327 msgid "Builtin type" -msgstr "" +msgstr "Tipo embutido" #: src/tables/machine/MachineTypeTable.tsx:336 msgid "Machine type detail" -msgstr "" +msgstr "Detalhes do tipo de Máquina" #: src/tables/machine/MachineTypeTable.tsx:346 msgid "Machine driver detail" -msgstr "" +msgstr "Detalhes do controlador da Máquina" #: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" -msgstr "" +msgstr "Idade" #: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" -msgstr "" +msgstr "Mensagem" #: src/tables/part/ParametricPartTable.tsx:76 #: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" -msgstr "" +msgstr "Unidades Internas" #: src/tables/part/ParametricPartTable.tsx:81 msgid "Edit parameter" -msgstr "" +msgstr "Editar parâmetro" #: src/tables/part/ParametricPartTable.tsx:124 msgid "Add Part Parameter" -msgstr "" +msgstr "Adicionar Parâmetro da Peça" #: src/tables/part/ParametricPartTable.tsx:138 #: src/tables/part/PartParameterTable.tsx:121 #: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" -msgstr "" +msgstr "Editar Parâmetro da Peça" #: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" -msgstr "" +msgstr "Incluir Subcategorias" #: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" -msgstr "" +msgstr "Incluir subcategorias nos resultados" #: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" -msgstr "" +msgstr "Mostrar categorias estruturais" #: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" -msgstr "" +msgstr "Nova Categoria de Peça" #: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" -msgstr "" +msgstr "Adicionar Categoria de Peça" #: src/tables/part/PartCategoryTemplateTable.tsx:38 #: src/tables/part/PartCategoryTemplateTable.tsx:131 msgid "Add Category Parameter" -msgstr "" +msgstr "Adicionar Parâmetro da Categoria" #: src/tables/part/PartCategoryTemplateTable.tsx:46 msgid "Edit Category Parameter" -msgstr "" +msgstr "Editar Parâmetro da Categoria" #: src/tables/part/PartCategoryTemplateTable.tsx:54 msgid "Delete Category Parameter" -msgstr "" +msgstr "Excluir Parâmetro da Categoria" #: src/tables/part/PartCategoryTemplateTable.tsx:76 msgid "Parameter Template" -msgstr "" +msgstr "Modelo do Parâmetro" #: src/tables/part/PartCategoryTemplateTable.tsx:93 #~ msgid "[{0}]" @@ -5608,227 +5608,227 @@ msgstr "" #: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" -msgstr "" +msgstr "Novo Parâmetro da Peça" #: src/tables/part/PartParameterTable.tsx:130 #: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" -msgstr "" +msgstr "Excluir Parâmetro da Peça" #: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" -msgstr "" +msgstr "Adicionar parâmetro" #: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" -msgstr "" +msgstr "Incluir variantes" #: src/tables/part/PartParameterTemplateTable.tsx:31 msgid "Checkbox" -msgstr "" +msgstr "Caixa de seleção" #: src/tables/part/PartParameterTemplateTable.tsx:32 msgid "Show checkbox templates" -msgstr "" +msgstr "Mostrar modelos da caixa de seleção" #: src/tables/part/PartParameterTemplateTable.tsx:36 msgid "Has choices" -msgstr "" +msgstr "Possui escolhas" #: src/tables/part/PartParameterTemplateTable.tsx:37 msgid "Show templates with choices" -msgstr "" +msgstr "Mostrar modelos com escolhas" #: src/tables/part/PartParameterTemplateTable.tsx:41 #: src/tables/part/PartTable.tsx:198 msgid "Has Units" -msgstr "" +msgstr "Possui unidades" #: src/tables/part/PartParameterTemplateTable.tsx:42 msgid "Show templates with units" -msgstr "" +msgstr "Mostrar modelos com escolhas" #: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" -msgstr "" +msgstr "Adicionar modelo de Parâmetro" #: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" -msgstr "" +msgstr "Editar Modelo de Parâmetro" #: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" -msgstr "" +msgstr "Excluir Modelo de Parâmetro" #: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" -msgstr "" +msgstr "Adicionar modelo de parâmetro" #: src/tables/part/PartTable.tsx:67 msgid "Minimum stock" -msgstr "" +msgstr "Stock mínimo" #: src/tables/part/PartTable.tsx:89 msgid "Build Order Allocations" -msgstr "" +msgstr "Alocações de Pedido de Produção" #: src/tables/part/PartTable.tsx:98 msgid "Sales Order Allocations" -msgstr "" +msgstr "Alocações do Pedido de Vendas" #: src/tables/part/PartTable.tsx:169 msgid "Filter by part active status" -msgstr "" +msgstr "Filtrar por estado ativo da peça" #: src/tables/part/PartTable.tsx:174 #: src/tables/stock/StockItemTable.tsx:265 msgid "Assembly" -msgstr "" +msgstr "Montagem" #: src/tables/part/PartTable.tsx:175 msgid "Filter by assembly attribute" -msgstr "" +msgstr "Filtrar por atributo de montagem" #: src/tables/part/PartTable.tsx:181 msgid "Include parts in subcategories" -msgstr "" +msgstr "Incluir peças nas subcategorias" #: src/tables/part/PartTable.tsx:187 msgid "Filter by component attribute" -msgstr "" +msgstr "Filtrar por atributo do componente" #: src/tables/part/PartTable.tsx:193 msgid "Filter by trackable attribute" -msgstr "" +msgstr "Filtrar por atributo rastreável" #: src/tables/part/PartTable.tsx:199 msgid "Filter by parts which have units" -msgstr "" +msgstr "Filtrar por peças que têm unidades" #: src/tables/part/PartTable.tsx:204 msgid "Has IPN" -msgstr "" +msgstr "Possui IPN" #: src/tables/part/PartTable.tsx:205 msgid "Filter by parts which have an internal part number" -msgstr "" +msgstr "Filtrar por peças que tenham um IPN" #: src/tables/part/PartTable.tsx:210 msgid "Has Stock" -msgstr "" +msgstr "Possui estoque" #: src/tables/part/PartTable.tsx:211 msgid "Filter by parts which have stock" -msgstr "" +msgstr "Mostrar peças que têm estoque" #: src/tables/part/PartTable.tsx:217 msgid "Filter by parts which have low stock" -msgstr "" +msgstr "Filtrar po peças que têm estoque baixo" #: src/tables/part/PartTable.tsx:222 msgid "Purchaseable" -msgstr "" +msgstr "Adquirível" #: src/tables/part/PartTable.tsx:223 msgid "Filter by parts which are purchaseable" -msgstr "" +msgstr "Filtrar por peças que são adquiríveis" #: src/tables/part/PartTable.tsx:228 msgid "Salable" -msgstr "" +msgstr "Vendível" #: src/tables/part/PartTable.tsx:229 msgid "Filter by parts which are salable" -msgstr "" +msgstr "Filtrar por peças que são vendíveis" #: src/tables/part/PartTable.tsx:235 msgid "Filter by parts which are virtual" -msgstr "" +msgstr "Filtrar por peças que são virtuais" #: src/tables/part/PartTable.tsx:239 msgid "Not Virtual" -msgstr "" +msgstr "Não é Virtual" #: src/tables/part/PartTestTemplateTable.tsx:52 msgid "Results" -msgstr "" +msgstr "Resultados" #: src/tables/part/PartTestTemplateTable.tsx:54 msgid "No Results" -msgstr "" +msgstr "Sem Resultados" #: src/tables/part/PartTestTemplateTable.tsx:84 #: src/tables/stock/StockItemTestResultTable.tsx:360 msgid "Required" -msgstr "" +msgstr "Obrigatório" #: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show required tests" -msgstr "" +msgstr "Exibir testes obrigatórios" #: src/tables/part/PartTestTemplateTable.tsx:89 #: src/tables/settings/TemplateTable.tsx:160 #: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" -msgstr "" +msgstr "Habilitado" #: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show enabled tests" -msgstr "" +msgstr "Exibir testes habilitados" #: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Value" -msgstr "" +msgstr "Valor obrigatório" #: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require a value" -msgstr "" +msgstr "Mostrar testes que requerem um valor" #: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Requires Attachment" -msgstr "" +msgstr "Anexo obrigatório" #: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests that require an attachment" -msgstr "" +msgstr "Mostrar testes que requerem um anexo" #: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Include Inherited" -msgstr "" +msgstr "Incluir Herdados" #: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests from inherited templates" -msgstr "" +msgstr "Mostrar testes de modelos herdados" #: src/tables/part/PartTestTemplateTable.tsx:109 msgid "Has Results" -msgstr "" +msgstr "Possui Resultados" #: src/tables/part/PartTestTemplateTable.tsx:110 msgid "Show tests which have recorded results" -msgstr "" +msgstr "Mostrar testes que tenham resultados gravados" #: src/tables/part/PartTestTemplateTable.tsx:132 #: src/tables/part/PartTestTemplateTable.tsx:207 msgid "Add Test Template" -msgstr "" +msgstr "Adicionar Modelo de Teste" #: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" -msgstr "" +msgstr "Editar Modelo de Teste" #: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" -msgstr "" +msgstr "Excluir Modelo de Teste" #: src/tables/part/PartTestTemplateTable.tsx:161 msgid "This action cannot be reversed" -msgstr "" +msgstr "Esta acção não pode ser revertida" #: src/tables/part/PartTestTemplateTable.tsx:163 msgid "Any tests results associated with this template will be deleted" -msgstr "" +msgstr "Quaisquer resultados de testes associados a este modelo serão excluídos" #: src/tables/part/PartThumbTable.tsx:203 msgid "Select" @@ -5836,47 +5836,47 @@ msgstr "Selecionar" #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" -msgstr "" +msgstr "Mostrar variantes ativas" #: src/tables/part/PartVariantTable.tsx:20 msgid "Template" -msgstr "" +msgstr "Modelo" #: src/tables/part/PartVariantTable.tsx:21 msgid "Show template variants" -msgstr "" +msgstr "Mostrar variantes do modelo" #: src/tables/part/PartVariantTable.tsx:26 msgid "Show virtual variants" -msgstr "" +msgstr "Mostrar variantes virtuais" #: src/tables/part/PartVariantTable.tsx:31 msgid "Show trackable variants" -msgstr "" +msgstr "Mostrar variantes rastreáveis" #: src/tables/part/RelatedPartTable.tsx:84 msgid "Add Related Part" -msgstr "" +msgstr "Adicionar Peça Relacionada" #: src/tables/part/RelatedPartTable.tsx:99 msgid "Delete Related Part" -msgstr "" +msgstr "Excluir Peça Relacionada" #: src/tables/part/RelatedPartTable.tsx:106 msgid "Add related part" -msgstr "" +msgstr "Adicionar peça relacionada" #: src/tables/plugin/PluginErrorTable.tsx:29 msgid "Stage" -msgstr "" +msgstr "Etapa" #: src/tables/plugin/PluginListTable.tsx:95 msgid "Plugin with key {pluginKey} not found" -msgstr "" +msgstr "Extensão com a chave {pluginKey} não encontrado" #: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" -msgstr "" +msgstr "Ocorreu um erro ao obter detalhes da extensão" #: src/tables/plugin/PluginListTable.tsx:113 #~ msgid "Plugin with id {id} not found" @@ -5884,11 +5884,11 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" -msgstr "" +msgstr "Informações da extensão" #: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" -msgstr "" +msgstr "Autor" #: src/tables/plugin/PluginListTable.tsx:134 #~ msgid "Plugin Actions" @@ -5906,67 +5906,67 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:154 msgid "Plugin is not active" -msgstr "" +msgstr "A Extensão não está ativa" #: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" -msgstr "" +msgstr "Informações do pacote" #: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" -msgstr "" +msgstr "Nome do Pacote" #: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" -msgstr "" +msgstr "Caminho de Instalação" #: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" -msgstr "" +msgstr "Pacote" #: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" -msgstr "" +msgstr "Definições da Extensão" #: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" -msgstr "" +msgstr "A Extensão está ativa" #: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" -msgstr "" +msgstr "A Extensão não está ativa" #: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" -msgstr "" +msgstr "Extensão não está instalada" #: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" -msgstr "" +msgstr "Extensão" #: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" -msgstr "" +msgstr "Descrição não está disponível" #: src/tables/plugin/PluginListTable.tsx:319 msgid "Confirm plugin activation" -msgstr "" +msgstr "Confirmar a ativação da extensão" #: src/tables/plugin/PluginListTable.tsx:320 msgid "Confirm plugin deactivation" -msgstr "" +msgstr "Confirmar desativação da extensão" #: src/tables/plugin/PluginListTable.tsx:325 msgid "The selected plugin will be activated" -msgstr "" +msgstr "A extensão selecionada será ativada" #: src/tables/plugin/PluginListTable.tsx:326 msgid "The selected plugin will be deactivated" -msgstr "" +msgstr "A extensão selecionada será desativada" #: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" -msgstr "" +msgstr "Ativar Extensão" #: src/tables/plugin/PluginListTable.tsx:338 #~ msgid "Deactivate Plugin" @@ -5982,7 +5982,7 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" -msgstr "" +msgstr "Desativar" #: src/tables/plugin/PluginListTable.tsx:366 #~ msgid "Confirm" @@ -5990,7 +5990,7 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" -msgstr "" +msgstr "Ativar" #: src/tables/plugin/PluginListTable.tsx:376 #~ msgid "Activating plugin" @@ -6018,76 +6018,76 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" -msgstr "" +msgstr "Desinstalar" #: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" -msgstr "" +msgstr "Instalar extensão" #: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" -msgstr "" +msgstr "Instalar" #: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" -msgstr "" +msgstr "A extensão foi instalada com sucesso." #: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" -msgstr "" +msgstr "Desintalar extensão" #: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" -msgstr "" +msgstr "Confirmar instalação da extensão" #: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." -msgstr "" +msgstr "A extensão selecionada será desinstalada." #: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." -msgstr "" +msgstr "Esta ação não pode ser desfeita." #: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" -msgstr "" +msgstr "A extensão foi desinstalada com sucesso" #: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" -msgstr "" +msgstr "Excluir Extensão" #: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" -msgstr "" +msgstr "Ao excluir esta extensão, todas as configurações e informações da extensão serão removidas. Tem a certeza que deseja excluir está extensão?" #: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" -msgstr "" +msgstr "Extensões recarregadas" #: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" -msgstr "" +msgstr "As Extensões foram recarregadas com sucesso" #: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" -msgstr "" +msgstr "Recarregar extensões" #: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" -msgstr "" +msgstr "Instalar Extensão" #: src/tables/plugin/PluginListTable.tsx:544 msgid "Plugin Detail" -msgstr "" +msgstr "Detalhe da Extensão" #: src/tables/plugin/PluginListTable.tsx:573 msgid "Sample" -msgstr "" +msgstr "Amostra" #: src/tables/plugin/PluginListTable.tsx:578 #: src/tables/stock/StockItemTable.tsx:305 msgid "Installed" -msgstr "" +msgstr "Instalado" #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" @@ -6096,7 +6096,7 @@ msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 msgid "Add Parameter" -msgstr "" +msgstr "Adicionar Parâmetro" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 #~ msgid "Parameter updated" @@ -6104,7 +6104,7 @@ msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 msgid "Edit Parameter" -msgstr "" +msgstr "Editar Parâmetro" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 #~ msgid "Parameter deleted" @@ -6116,7 +6116,7 @@ msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 msgid "Delete Parameter" -msgstr "" +msgstr "Excluir Parâmetro" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" @@ -6124,7 +6124,7 @@ msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" -msgstr "" +msgstr "Excluir Peça do Fabricante" #: src/tables/purchasing/ManufacturerPartTable.tsx:100 #~ msgid "Manufacturer part updated" @@ -6140,83 +6140,83 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" -msgstr "" +msgstr "Descrição da Peça" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113 msgid "Total Quantity" -msgstr "" +msgstr "Quantidade Total" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129 msgid "Received" -msgstr "" +msgstr "Recebido" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148 msgid "Supplier Code" -msgstr "" +msgstr "Código do Fornecedor" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155 msgid "Supplier Link" -msgstr "" +msgstr "Ligação do Fornecedor" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162 msgid "Manufacturer Code" -msgstr "" +msgstr "Código do Fabricante" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176 msgid "Destination" -msgstr "" +msgstr "Destino" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198 msgid "Add Line Item" -msgstr "" +msgstr "Adicionar item de linha" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 msgid "Edit Line Item" -msgstr "" +msgstr "Editar item de linha" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223 msgid "Delete Line Item" -msgstr "" +msgstr "Excluir Item da Linha" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234 msgid "Receive line item" -msgstr "" +msgstr "Receber item de linha" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272 msgid "Add line item" -msgstr "" +msgstr "Adicionar item de linha" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282 msgid "Receive items" -msgstr "" +msgstr "Receber itens" #: src/tables/purchasing/SupplierPartTable.tsx:93 msgid "MPN" -msgstr "" +msgstr "MPN" #: src/tables/purchasing/SupplierPartTable.tsx:122 msgid "Base units" -msgstr "" +msgstr "Unidade Base" #: src/tables/purchasing/SupplierPartTable.tsx:170 msgid "Supplier part created" -msgstr "" +msgstr "Fornecedor da Peça criado" #: src/tables/purchasing/SupplierPartTable.tsx:176 msgid "Add supplier part" -msgstr "" +msgstr "Adicionar Fornecedor da Peça" #: src/tables/purchasing/SupplierPartTable.tsx:188 msgid "Show active supplier parts" -msgstr "" +msgstr "Mostrar peças do fornecedor ativas" #: src/tables/purchasing/SupplierPartTable.tsx:192 msgid "Active Part" -msgstr "" +msgstr "Peça Ativa" #: src/tables/purchasing/SupplierPartTable.tsx:193 msgid "Show active internal parts" -msgstr "" +msgstr "Mostrar partes internas ativas" #: src/tables/purchasing/SupplierPartTable.tsx:193 #~ msgid "Supplier part updated" @@ -6224,11 +6224,11 @@ msgstr "" #: src/tables/purchasing/SupplierPartTable.tsx:197 msgid "Active Supplier" -msgstr "" +msgstr "Fornecedor Ativo" #: src/tables/purchasing/SupplierPartTable.tsx:198 msgid "Show active suppliers" -msgstr "" +msgstr "Mostrar Fornecedores ativos" #: src/tables/purchasing/SupplierPartTable.tsx:205 #~ msgid "Supplier part deleted" @@ -6240,51 +6240,51 @@ msgstr "" #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" -msgstr "" +msgstr "Excluir Fornecedor da Peça" #: src/tables/settings/CurrencyTable.tsx:28 msgid "Rate" -msgstr "" +msgstr "Taxa" #: src/tables/settings/CurrencyTable.tsx:40 msgid "Exchange rates updated" -msgstr "" +msgstr "Taxas de câmbio atualizadas" #: src/tables/settings/CurrencyTable.tsx:46 msgid "Exchange rate update error" -msgstr "" +msgstr "Ocorreu um erro ao atualizar as Taxas de câmbio" #: src/tables/settings/CurrencyTable.tsx:57 msgid "Refresh currency exchange rates" -msgstr "" +msgstr "Atualizar taxas de câmbio" #: src/tables/settings/CustomUnitsTable.tsx:50 msgid "Add Custom Unit" -msgstr "" +msgstr "Adicionar Unidade Personalizada" #: src/tables/settings/CustomUnitsTable.tsx:60 msgid "Edit Custom Unit" -msgstr "" +msgstr "Editar Unidade Personalizada" #: src/tables/settings/CustomUnitsTable.tsx:68 msgid "Delete Custom Unit" -msgstr "" +msgstr "Excluir Unidade Personalizada" #: src/tables/settings/CustomUnitsTable.tsx:100 msgid "Add custom unit" -msgstr "" +msgstr "Adicionar unidade personalizada" #: src/tables/settings/ErrorTable.tsx:29 msgid "When" -msgstr "" +msgstr "Quando" #: src/tables/settings/ErrorTable.tsx:39 msgid "Error Information" -msgstr "" +msgstr "Informações do erro" #: src/tables/settings/ErrorTable.tsx:51 msgid "Delete Error Report" -msgstr "" +msgstr "Excluir Relatório de Erro" #: src/tables/settings/ErrorTable.tsx:51 #~ msgid "Delete error report" @@ -6292,109 +6292,109 @@ msgstr "" #: src/tables/settings/ErrorTable.tsx:53 msgid "Are you sure you want to delete this error report?" -msgstr "" +msgstr "Tem a certeza de que pretende excluir este relatório de erro?" #: src/tables/settings/ErrorTable.tsx:55 msgid "Error report deleted" -msgstr "" +msgstr "Relatório de erro excluído" #: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" -msgstr "" +msgstr "Detalhes do Erro" #: src/tables/settings/FailedTasksTable.tsx:24 #: src/tables/settings/PendingTasksTable.tsx:17 #: src/tables/settings/ScheduledTasksTable.tsx:19 msgid "Task" -msgstr "" +msgstr "Tarefa" #: src/tables/settings/FailedTasksTable.tsx:30 #: src/tables/settings/PendingTasksTable.tsx:22 msgid "Task ID" -msgstr "" +msgstr "ID da Tarefa" #: src/tables/settings/FailedTasksTable.tsx:34 #: src/tables/stock/StockItemTestResultTable.tsx:206 msgid "Started" -msgstr "" +msgstr "Iniciado" #: src/tables/settings/FailedTasksTable.tsx:40 msgid "Stopped" -msgstr "" +msgstr "Parado" #: src/tables/settings/FailedTasksTable.tsx:46 msgid "Attempts" -msgstr "" +msgstr "Tentativas" #: src/tables/settings/GroupTable.tsx:51 msgid "Group with id {id} not found" -msgstr "" +msgstr "Grupo com o ID {id} não encontrado" #: src/tables/settings/GroupTable.tsx:53 msgid "An error occurred while fetching group details" -msgstr "" +msgstr "Ocorreu um erro ao obter detalhes do grupo" #: src/tables/settings/GroupTable.tsx:77 msgid "Permission set" -msgstr "" +msgstr "Permissão definida" #: src/tables/settings/GroupTable.tsx:126 msgid "Delete group" -msgstr "" +msgstr "Excluir grupo" #: src/tables/settings/GroupTable.tsx:127 msgid "Group deleted" -msgstr "" +msgstr "Grupo excluído" #: src/tables/settings/GroupTable.tsx:129 msgid "Are you sure you want to delete this group?" -msgstr "" +msgstr "Tem a certeza de que pretende excluir este grupo?" #: src/tables/settings/GroupTable.tsx:134 #: src/tables/settings/GroupTable.tsx:146 msgid "Add group" -msgstr "" +msgstr "Adicionar grupo" #: src/tables/settings/GroupTable.tsx:158 msgid "Edit group" -msgstr "" +msgstr "Editar grupo" #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" -msgstr "" +msgstr "Argumentos" #: src/tables/settings/ProjectCodeTable.tsx:42 msgid "Add Project Code" -msgstr "" +msgstr "Adicionar Código do Projeto" #: src/tables/settings/ProjectCodeTable.tsx:54 msgid "Edit Project Code" -msgstr "" +msgstr "Editar Código do Projeto" #: src/tables/settings/ProjectCodeTable.tsx:62 msgid "Delete Project Code" -msgstr "" +msgstr "Excluir Código do Projeto" #: src/tables/settings/ProjectCodeTable.tsx:94 msgid "Add project code" -msgstr "" +msgstr "Adicionar código do projeto" #: src/tables/settings/ScheduledTasksTable.tsx:25 msgid "Last Run" -msgstr "" +msgstr "Última Execução" #: src/tables/settings/ScheduledTasksTable.tsx:47 msgid "Next Run" -msgstr "" +msgstr "Próxima Execução" #: src/tables/settings/TemplateTable.tsx:82 msgid "Template not found" -msgstr "" +msgstr "Modelo não encontrado" #: src/tables/settings/TemplateTable.tsx:84 msgid "An error occurred while fetching template details" -msgstr "" +msgstr "Ocorreu um erro ao obter detalhes do modelo" #: src/tables/settings/TemplateTable.tsx:120 #~ msgid "{templateTypeTranslation} with id {id} not found" @@ -6410,24 +6410,24 @@ msgstr "" #: src/tables/settings/TemplateTable.tsx:170 msgid "Modify" -msgstr "" +msgstr "Modificar" #: src/tables/settings/TemplateTable.tsx:171 msgid "Modify template file" -msgstr "" +msgstr "Modificar ficheiro do modelo" #: src/tables/settings/TemplateTable.tsx:222 #: src/tables/settings/TemplateTable.tsx:289 msgid "Edit Template" -msgstr "" +msgstr "Editar Modelo" #: src/tables/settings/TemplateTable.tsx:230 msgid "Delete template" -msgstr "" +msgstr "Eliminar modelo" #: src/tables/settings/TemplateTable.tsx:236 msgid "Add Template" -msgstr "" +msgstr "Adicionar Modelo" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Add new" @@ -6439,434 +6439,434 @@ msgstr "" #: src/tables/settings/TemplateTable.tsx:249 msgid "Add template" -msgstr "" +msgstr "Adicionar modelo" #: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" -msgstr "" +msgstr "Filtrar por estado ativo" #: src/tables/settings/TemplateTable.tsx:276 msgid "Model Type" -msgstr "" +msgstr "Tipo de Modelo" #: src/tables/settings/TemplateTable.tsx:277 msgid "Filter by target model type" -msgstr "" +msgstr "Filtrar pelo destino do tipo de modelo" #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" -msgstr "" +msgstr "Usuário com ID {id} não encontrado" #: src/tables/settings/UserTable.tsx:81 msgid "An error occurred while fetching user details" -msgstr "" +msgstr "Ocorreu um erro ao obter detalhes do usuário" #: src/tables/settings/UserTable.tsx:99 msgid "Is Active" -msgstr "" +msgstr "Está Ativo" #: src/tables/settings/UserTable.tsx:100 msgid "Designates whether this user should be treated as active. Unselect this instead of deleting accounts." -msgstr "" +msgstr "Designa se este usuário deve ser tratado como ativo. Desmarque isso em vez de excluir contas." #: src/tables/settings/UserTable.tsx:104 msgid "Is Staff" -msgstr "" +msgstr "É Funcionário" #: src/tables/settings/UserTable.tsx:105 msgid "Designates whether the user can log into the django admin site." -msgstr "" +msgstr "Designa se o usuário pode fazer login no site administrativo DJANGO." #: src/tables/settings/UserTable.tsx:109 msgid "Is Superuser" -msgstr "" +msgstr "É um Super-utilizador" #: src/tables/settings/UserTable.tsx:110 msgid "Designates that this user has all permissions without explicitly assigning them." -msgstr "" +msgstr "Indica que este usuário tem todas as permissões sem atribuí-las explicitamente." #: src/tables/settings/UserTable.tsx:120 msgid "You cannot edit the rights for the currently logged-in user." -msgstr "" +msgstr "Você não pode editar os direitos para o usuário conectado no momento." #: src/tables/settings/UserTable.tsx:151 msgid "No groups" -msgstr "" +msgstr "Nenhum grupo" #: src/tables/settings/UserTable.tsx:231 msgid "Delete user" -msgstr "" +msgstr "Excluir utilizador" #: src/tables/settings/UserTable.tsx:232 msgid "User deleted" -msgstr "" +msgstr "Utilizador excluido" #: src/tables/settings/UserTable.tsx:234 msgid "Are you sure you want to delete this user?" -msgstr "" +msgstr "Tem a certeza de que quer excluir este utilizador?" #: src/tables/settings/UserTable.tsx:240 #: src/tables/settings/UserTable.tsx:258 msgid "Add user" -msgstr "" +msgstr "Adicionar utilizador" #: src/tables/settings/UserTable.tsx:248 msgid "Added user" -msgstr "" +msgstr "Usuário adicionado" #: src/tables/settings/UserTable.tsx:270 msgid "Edit user" -msgstr "" +msgstr "Editar usuário" #: src/tables/stock/LocationTypesTable.tsx:36 #: src/tables/stock/LocationTypesTable.tsx:105 msgid "Add Location Type" -msgstr "" +msgstr "Adicionar Tipo de Localização" #: src/tables/stock/LocationTypesTable.tsx:44 msgid "Edit Location Type" -msgstr "" +msgstr "Editar Tipo de Localização" #: src/tables/stock/LocationTypesTable.tsx:52 msgid "Delete Location Type" -msgstr "" +msgstr "Apagar Tipo de Localização" #: src/tables/stock/LocationTypesTable.tsx:69 msgid "Icon" -msgstr "" +msgstr "Ícone" #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" -msgstr "" +msgstr "Este item de estoque está em produção" #: src/tables/stock/StockItemTable.tsx:99 msgid "This stock item has been assigned to a sales order" -msgstr "" +msgstr "Este item de estoque foi reservado para uma ordem de venda" #: src/tables/stock/StockItemTable.tsx:108 msgid "This stock item has been assigned to a customer" -msgstr "" +msgstr "Este item em estoque foi reservado para um cliente" #: src/tables/stock/StockItemTable.tsx:117 msgid "This stock item is installed in another stock item" -msgstr "" +msgstr "Este item em estoque está instalado em outro item de estoque" #: src/tables/stock/StockItemTable.tsx:126 msgid "This stock item has been consumed by a build order" -msgstr "" +msgstr "Este item de estoque foi consumido por uma ordem de produção" #: src/tables/stock/StockItemTable.tsx:135 msgid "This stock item has expired" -msgstr "" +msgstr "Este item de estoque expirou" #: src/tables/stock/StockItemTable.tsx:139 msgid "This stock item is stale" -msgstr "" +msgstr "Este item de estoque está obsoleto" #: src/tables/stock/StockItemTable.tsx:150 msgid "This stock item is fully allocated" -msgstr "" +msgstr "Este item de estoque está totalmente alocado" #: src/tables/stock/StockItemTable.tsx:157 msgid "This stock item is partially allocated" -msgstr "" +msgstr "Este item de estoque está parcialmente alocado" #: src/tables/stock/StockItemTable.tsx:185 msgid "This stock item has been depleted" -msgstr "" +msgstr "Este item de estoque está esgotado" #: src/tables/stock/StockItemTable.tsx:255 msgid "Show stock for active parts" -msgstr "" +msgstr "Mostrar estoque de peças ativas" #: src/tables/stock/StockItemTable.tsx:260 msgid "Filter by stock status" -msgstr "" +msgstr "Filtrar por estado do estoque" #: src/tables/stock/StockItemTable.tsx:266 msgid "Show stock for assmebled parts" -msgstr "" +msgstr "Mostrar estoque de peças montadas" #: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which have been allocated" -msgstr "" +msgstr "Mostrar itens que foram alocados" #: src/tables/stock/StockItemTable.tsx:276 msgid "Show items which are available" -msgstr "" +msgstr "Mostrar itens que estão disponíveis" #: src/tables/stock/StockItemTable.tsx:280 #: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" -msgstr "" +msgstr "Incluir sublocações" #: src/tables/stock/StockItemTable.tsx:281 msgid "Include stock in sublocations" -msgstr "" +msgstr "Incluir estoque em sublocalizações" #: src/tables/stock/StockItemTable.tsx:285 msgid "Depleted" -msgstr "" +msgstr "Esgotado" #: src/tables/stock/StockItemTable.tsx:286 msgid "Show depleted stock items" -msgstr "" +msgstr "Mostrar itens de estoque esgotados" #: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which are in stock" -msgstr "" +msgstr "Mostrar itens que estão disponíveis em estoque" #: src/tables/stock/StockItemTable.tsx:296 msgid "Show items which are in production" -msgstr "" +msgstr "Mostrar itens que estão em produção" #: src/tables/stock/StockItemTable.tsx:301 msgid "Include stock items for variant parts" -msgstr "" +msgstr "Incluir itens de estoque com peças variantes" #: src/tables/stock/StockItemTable.tsx:306 msgid "Show stock items which are installed in other items" -msgstr "" +msgstr "Mostrar itens de estoque que estão instalados em outros itens" #: src/tables/stock/StockItemTable.tsx:310 msgid "Sent to Customer" -msgstr "" +msgstr "Enviar para o Cliente" #: src/tables/stock/StockItemTable.tsx:311 msgid "Show items which have been sent to a customer" -msgstr "" +msgstr "Mostrar itens que foram enviados para um cliente" #: src/tables/stock/StockItemTable.tsx:315 msgid "Is Serialized" -msgstr "" +msgstr "É Serializado" #: src/tables/stock/StockItemTable.tsx:316 msgid "Show items which have a serial number" -msgstr "" +msgstr "Mostrar itens que têm um número de série" #: src/tables/stock/StockItemTable.tsx:323 msgid "Has Batch Code" -msgstr "" +msgstr "Tem Código de Lote" #: src/tables/stock/StockItemTable.tsx:324 msgid "Show items which have a batch code" -msgstr "" +msgstr "Mostrar itens que tenham um código de lote" #: src/tables/stock/StockItemTable.tsx:330 msgid "Show tracked items" -msgstr "" +msgstr "Mostrar itens rastreáveis" #: src/tables/stock/StockItemTable.tsx:334 msgid "Has Purchase Price" -msgstr "" +msgstr "Possui Preço de Compra" #: src/tables/stock/StockItemTable.tsx:335 msgid "Show items which have a purchase price" -msgstr "" +msgstr "Mostrar itens que possuem um preço de compra" #: src/tables/stock/StockItemTable.tsx:343 msgid "External Location" -msgstr "" +msgstr "Localização Externa" #: src/tables/stock/StockItemTable.tsx:344 msgid "Show items in an external location" -msgstr "" +msgstr "Mostrar itens em uma localização externa" #: src/tables/stock/StockItemTable.tsx:416 msgid "Add a new stock item" -msgstr "" +msgstr "Adicionar um novo item de estoque" #: src/tables/stock/StockItemTable.tsx:425 msgid "Remove some quantity from a stock item" -msgstr "" +msgstr "Remover alguma quantidade de um item de estoque" #: src/tables/stock/StockItemTable.tsx:447 msgid "Move Stock items to new locations" -msgstr "" +msgstr "Mover Itens de Estoque para novos locais" #: src/tables/stock/StockItemTable.tsx:454 msgid "Change stock status" -msgstr "" +msgstr "Mudar estado do Estoque" #: src/tables/stock/StockItemTable.tsx:456 msgid "Change the status of stock items" -msgstr "" +msgstr "Alterar o estado dos itens de estoque" #: src/tables/stock/StockItemTable.tsx:463 msgid "Merge stock" -msgstr "" +msgstr "Mesclar estoque" #: src/tables/stock/StockItemTable.tsx:465 msgid "Merge stock items" -msgstr "" +msgstr "Mesclar itens de estoque" #: src/tables/stock/StockItemTable.tsx:472 msgid "Order stock" -msgstr "" +msgstr "Encomendar Estoque" #: src/tables/stock/StockItemTable.tsx:474 #: src/tables/stock/StockItemTable.tsx:480 msgid "Order new stock" -msgstr "" +msgstr "Encomendar novo Estoque" #: src/tables/stock/StockItemTable.tsx:478 msgid "Assign to customer" -msgstr "" +msgstr "Atribuir ao cliente" #: src/tables/stock/StockItemTable.tsx:487 msgid "Delete stock" -msgstr "" +msgstr "Excluir estoque" #: src/tables/stock/StockItemTable.tsx:489 msgid "Delete stock items" -msgstr "" +msgstr "Excluir itens de estoque" #: src/tables/stock/StockItemTestResultTable.tsx:126 msgid "Test" -msgstr "" +msgstr "Teste" #: src/tables/stock/StockItemTestResultTable.tsx:152 msgid "Test result for installed stock item" -msgstr "" +msgstr "Resultado do teste para o item de estoque instalado" #: src/tables/stock/StockItemTestResultTable.tsx:163 msgid "Result" -msgstr "" +msgstr "Resultado" #: src/tables/stock/StockItemTestResultTable.tsx:169 msgid "No Result" -msgstr "" +msgstr "Sem Resultado" #: src/tables/stock/StockItemTestResultTable.tsx:185 msgid "Attachment" -msgstr "" +msgstr "Anexo" #: src/tables/stock/StockItemTestResultTable.tsx:201 msgid "Test station" -msgstr "" +msgstr "Estação de teste" #: src/tables/stock/StockItemTestResultTable.tsx:221 msgid "Finished" -msgstr "" +msgstr "Concluído" #: src/tables/stock/StockItemTestResultTable.tsx:252 #: src/tables/stock/StockItemTestResultTable.tsx:324 #: src/tables/stock/StockItemTestResultTable.tsx:379 msgid "Add Test Result" -msgstr "" +msgstr "Adicionar Resultado de Teste" #: src/tables/stock/StockItemTestResultTable.tsx:254 msgid "Test result added" -msgstr "" +msgstr "Resultado do teste adicionado" #: src/tables/stock/StockItemTestResultTable.tsx:263 #: src/tables/stock/StockItemTestResultTable.tsx:334 msgid "Edit Test Result" -msgstr "" +msgstr "Editar Resultado do Teste" #: src/tables/stock/StockItemTestResultTable.tsx:265 msgid "Test result updated" -msgstr "" +msgstr "Resultado do teste atualizado" #: src/tables/stock/StockItemTestResultTable.tsx:271 #: src/tables/stock/StockItemTestResultTable.tsx:343 msgid "Delete Test Result" -msgstr "" +msgstr "Excluir Resultado do Teste" #: src/tables/stock/StockItemTestResultTable.tsx:273 msgid "Test result deleted" -msgstr "" +msgstr "Resultado do teste excluído" #: src/tables/stock/StockItemTestResultTable.tsx:287 msgid "Test Passed" -msgstr "" +msgstr "Teste Aprovado" #: src/tables/stock/StockItemTestResultTable.tsx:288 msgid "Test result has been recorded" -msgstr "" +msgstr "O resultado do teste foi gravado" #: src/tables/stock/StockItemTestResultTable.tsx:295 msgid "Failed to record test result" -msgstr "" +msgstr "Falha ao gravar resultado do teste" #: src/tables/stock/StockItemTestResultTable.tsx:312 msgid "Pass Test" -msgstr "" +msgstr "Passou no teste" #: src/tables/stock/StockItemTestResultTable.tsx:361 msgid "Show results for required tests" -msgstr "" +msgstr "Mostrar resultados para testes necessários" #: src/tables/stock/StockItemTestResultTable.tsx:365 msgid "Include Installed" -msgstr "" +msgstr "Incluir Instalados" #: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Show results for installed stock items" -msgstr "" +msgstr "Mostrar resultados para itens de estoque instalados" #: src/tables/stock/StockItemTestResultTable.tsx:370 msgid "Passed" -msgstr "" +msgstr "Aprovado" #: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Show only passed tests" -msgstr "" +msgstr "Mostrar apenas testes aprovados" #: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" -msgstr "" +msgstr "Incluir sublocações nos resultados" #: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" -msgstr "" +msgstr "estrutural" #: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" -msgstr "" +msgstr "Mostrar localizações estruturais" #: src/tables/stock/StockLocationTable.tsx:43 msgid "external" -msgstr "" +msgstr "externo" #: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" -msgstr "" +msgstr "Mostrar localizações externas" #: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" -msgstr "" +msgstr "Possui tipo de localização" #: src/tables/stock/StockLocationTable.tsx:85 #: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" -msgstr "" +msgstr "Adicionar Local de Estoque" #: src/tables/stock/StockTrackingTable.tsx:64 msgid "Added" -msgstr "" +msgstr "Adicionado" #: src/tables/stock/StockTrackingTable.tsx:69 msgid "Removed" -msgstr "" +msgstr "Excluido" #: src/tables/stock/StockTrackingTable.tsx:198 msgid "No user information" -msgstr "" +msgstr "Sem informações de usuário" #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" -msgstr "" +msgstr "Visualização móvel detectada" #: src/views/MobileAppView.tsx:25 msgid "Platform UI is optimized for Tablets and Desktops, you can use the official app for a mobile experience." -msgstr "" +msgstr "A interface de utilizador da plataforma é otimizada para Tablets e Desktops, mas poderá usar o aplicativo oficial para uma experiência melhor no telemóvel." #: src/views/MobileAppView.tsx:31 msgid "Read the docs" -msgstr "" +msgstr "Ler os documentos" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" -msgstr "" +msgstr "Ignorar e continuar para a visualização de Desktop" diff --git a/src/frontend/src/locales/ro/messages.po b/src/frontend/src/locales/ro/messages.po index 86c7a74a8d..a3563847e1 100644 --- a/src/frontend/src/locales/ro/messages.po +++ b/src/frontend/src/locales/ro/messages.po @@ -6868,4 +6868,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/ru/messages.po b/src/frontend/src/locales/ru/messages.po index 2f8d9be92f..f5b4884912 100644 --- a/src/frontend/src/locales/ru/messages.po +++ b/src/frontend/src/locales/ru/messages.po @@ -6868,4 +6868,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/sk/messages.po b/src/frontend/src/locales/sk/messages.po index 0a33e3ca81..6c30ac2a3a 100644 --- a/src/frontend/src/locales/sk/messages.po +++ b/src/frontend/src/locales/sk/messages.po @@ -6868,4 +6868,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/sl/messages.po b/src/frontend/src/locales/sl/messages.po index 42f9222aa2..b96fb835d6 100644 --- a/src/frontend/src/locales/sl/messages.po +++ b/src/frontend/src/locales/sl/messages.po @@ -6868,4 +6868,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/sr/messages.po b/src/frontend/src/locales/sr/messages.po index 743d0d0f2c..80dd831cb1 100644 --- a/src/frontend/src/locales/sr/messages.po +++ b/src/frontend/src/locales/sr/messages.po @@ -6868,4 +6868,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/sv/messages.po b/src/frontend/src/locales/sv/messages.po index ed3051c436..73987b7f38 100644 --- a/src/frontend/src/locales/sv/messages.po +++ b/src/frontend/src/locales/sv/messages.po @@ -6868,4 +6868,3 @@ msgstr "Läs dokumenten" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/th/messages.po b/src/frontend/src/locales/th/messages.po index 707388c7cd..b1b850a2bc 100644 --- a/src/frontend/src/locales/th/messages.po +++ b/src/frontend/src/locales/th/messages.po @@ -6868,4 +6868,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/tr/messages.po b/src/frontend/src/locales/tr/messages.po index ee14a0c619..d7b21f4dd3 100644 --- a/src/frontend/src/locales/tr/messages.po +++ b/src/frontend/src/locales/tr/messages.po @@ -6868,4 +6868,3 @@ msgstr "Belgeleri okuyun" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/uk/messages.po b/src/frontend/src/locales/uk/messages.po index 8d6f8e0fb5..1869c55981 100644 --- a/src/frontend/src/locales/uk/messages.po +++ b/src/frontend/src/locales/uk/messages.po @@ -6868,4 +6868,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/vi/messages.po b/src/frontend/src/locales/vi/messages.po index 1b110a4390..406f6ab2d2 100644 --- a/src/frontend/src/locales/vi/messages.po +++ b/src/frontend/src/locales/vi/messages.po @@ -6868,4 +6868,3 @@ msgstr "Đọc tài liệu" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - From b8b79b2b2d8a3ecae030277d4e142f2fb281237a Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 19 Jun 2024 14:36:38 +1000 Subject: [PATCH 28/59] Fix click-through for purchase order line item table (#7472) - Use the 'part' field, not 'pk' --- .../src/tables/purchasing/PurchaseOrderLineItemTable.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/frontend/src/tables/purchasing/PurchaseOrderLineItemTable.tsx b/src/frontend/src/tables/purchasing/PurchaseOrderLineItemTable.tsx index 5e858d6254..2fb8a1c629 100644 --- a/src/frontend/src/tables/purchasing/PurchaseOrderLineItemTable.tsx +++ b/src/frontend/src/tables/purchasing/PurchaseOrderLineItemTable.tsx @@ -307,7 +307,8 @@ export function PurchaseOrderLineItemTable({ }, rowActions: rowActions, tableActions: tableActions, - modelType: ModelType.supplierpart + modelType: ModelType.supplierpart, + modelField: 'part' }} /> From 432e0c622cf38abe780bd881562cac1c0f72b858 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 19 Jun 2024 14:38:46 +1000 Subject: [PATCH 29/59] Single table for file attachments (#7420) * Add basic model for handling generic attachments * Refactor migration * Data migration to convert old files across * Admin updates * Increase comment field max_length * Adjust field name * Remove legacy serializer classes / endpoints * Expose new model to API * Admin site list filters * Remove legacy attachment models - Add new mixin class to designate which models can have attachments * Update data migration - Ensure other apps are at the correct migration state beforehand * Add migrations to remove legacy attachment tables * Fix for "rename_attachment" callback * Refactor model_type field - ContentType does not allow easy API serialization * Set allowed options for admin * Update model verbose names * Fix logic for file upload * Add choices for serializer * Add API filtering * Fix for API filter * Fix for attachment tables in PUI - Still not solved permission issues * Bump API version * Record user when uploading attachment via API * Refactor for PUI * Display 'file_size' in PUI attachment table * Fix company migrations * Include permission informtion in roles API endpoint * Read user permissions in PUI * Simplify permission checks for * Automatically clean up old content types * Cleanup PUI * Fix typo in data migration * Add reverse data migration * Update unit tests * Use InMemoryStorage for media files in test mode * Data migration unit test * Fix "model_type" field - It is a required field after all * Add permission check for serializer * Fix permission check for CUI * Fix PUI import * Test python lib against specific branch - Will be reverted once code is merged * Revert STORAGES setting - Might be worth looking into again * Fix part unit test * Fix unit test for sales order * Use 'get_global_setting' * Use 'get_global_setting' * Update setting getter * Unit tests * Tweaks * Revert change to settings.py * More updates for get_global_setting * Relax API query count requirement * remove illegal chars and add unit tests * Fix unit tests * Fix frontend unit tests * settings management updates * Prevent db write under more conditions * Simplify settings code * Pop values before creating filters * Prevent settings write under certain conditions * Add debug msg * Clear db on record import * Refactor permissions checks - Allows extension / customization of permission checks at a later date * Unit test updates * Prevent delete of attachment without correct permissions * Adjust odcker.yaml * Cleanup data migrations * Tweak migration tests for build app * Update data migration - Handle case with missing data * Prevent debug shell in TESTING mode * Update migration dependencies - Ensure all apps are "up to date" before removing legacy tables * add file size test * Update migration tests * Revert some settings caching changes * Fix incorrect logic in migration * Update unit tests * Prevent create on CURRENCY_CODES - Seems to play havoc with bootup sequence * Fix unit test * Some refactoring - Use get_global_setting * Fix typo * Revert change * Add "tags" and "metadata" * Include "tags" field in API serializer * add "metadata" endpoint for attachments --- .github/actions/migration/action.yaml | 4 +- .github/workflows/docker.yaml | 7 +- src/backend/InvenTree/InvenTree/api.py | 16 -- .../InvenTree/InvenTree/api_version.py | 7 +- src/backend/InvenTree/InvenTree/exchange.py | 4 +- src/backend/InvenTree/InvenTree/fields.py | 2 +- src/backend/InvenTree/InvenTree/middleware.py | 5 +- src/backend/InvenTree/InvenTree/models.py | 225 +++------------ .../InvenTree/InvenTree/serializers.py | 37 --- src/backend/InvenTree/InvenTree/settings.py | 1 + src/backend/InvenTree/InvenTree/unit_test.py | 23 +- src/backend/InvenTree/InvenTree/validators.py | 7 +- src/backend/InvenTree/InvenTree/version.py | 6 +- src/backend/InvenTree/build/api.py | 28 +- .../migrations/0022_buildorderattachment.py | 2 +- .../migrations/0027_auto_20210404_2016.py | 2 +- .../migrations/0033_auto_20211128_0151.py | 2 +- .../0051_delete_buildorderattachment.py | 21 ++ src/backend/InvenTree/build/models.py | 11 +- src/backend/InvenTree/build/serializers.py | 17 +- .../build/templates/build/detail.html | 13 +- .../InvenTree/build/test_migrations.py | 2 - src/backend/InvenTree/common/admin.py | 40 ++- src/backend/InvenTree/common/api.py | 89 +++++- src/backend/InvenTree/common/currency.py | 6 +- .../common/migrations/0025_attachment.py | 43 +++ .../migrations/0026_auto_20240608_1238.py | 122 +++++++++ src/backend/InvenTree/common/models.py | 258 +++++++++++++++--- src/backend/InvenTree/common/serializers.py | 87 ++++++ src/backend/InvenTree/common/settings.py | 7 +- .../InvenTree/common/test_migrations.py | 210 ++++++++++++++ src/backend/InvenTree/common/test_views.py | 1 - src/backend/InvenTree/common/tests.py | 129 +++++++++ src/backend/InvenTree/common/validators.py | 35 +++ src/backend/InvenTree/company/admin.py | 10 - src/backend/InvenTree/company/api.py | 67 +---- .../company/migrations/0001_initial.py | 4 + .../migrations/0023_auto_20200808_0715.py | 2 +- .../migrations/0034_manufacturerpart.py | 1 + .../migrations/0041_alter_company_options.py | 2 +- .../0043_manufacturerpartattachment.py | 2 +- .../migrations/0054_companyattachment.py | 2 +- ...rtattachment_manufacturer_part_and_more.py | 24 ++ src/backend/InvenTree/company/models.py | 54 +--- src/backend/InvenTree/company/serializers.py | 25 -- .../company/templates/company/detail.html | 12 +- .../templates/company/manufacturer_part.html | 12 +- .../InvenTree/company/test_migrations.py | 9 +- src/backend/InvenTree/order/api.py | 122 +-------- .../0016_purchaseorderattachment.py | 2 +- .../migrations/0020_auto_20200420_0940.py | 2 +- .../migrations/0044_auto_20210404_2016.py | 4 +- .../migrations/0053_auto_20211128_0151.py | 4 +- .../migrations/0081_auto_20230314_0725.py | 2 +- ...ve_returnorderattachment_order_and_more.py | 27 ++ src/backend/InvenTree/order/models.py | 52 +--- src/backend/InvenTree/order/serializers.py | 35 --- .../order/purchase_order_detail.html | 12 +- .../templates/order/return_order_detail.html | 12 +- .../templates/order/sales_order_detail.html | 12 +- src/backend/InvenTree/order/test_api.py | 11 +- src/backend/InvenTree/part/admin.py | 9 - src/backend/InvenTree/part/api.py | 36 +-- .../migrations/0032_auto_20200322_0453.py | 2 +- .../migrations/0064_auto_20210404_2016.py | 2 +- .../migrations/0075_auto_20211128_0151.py | 2 +- .../migrations/0124_delete_partattachment.py | 21 ++ src/backend/InvenTree/part/models.py | 39 +-- src/backend/InvenTree/part/serializers.py | 17 +- .../InvenTree/part/templates/part/detail.html | 12 +- src/backend/InvenTree/part/test_api.py | 30 +- .../plugin/base/integration/ScheduleMixin.py | 7 +- src/backend/InvenTree/plugin/registry.py | 2 +- src/backend/InvenTree/plugin/urls.py | 8 +- src/backend/InvenTree/report/helpers.py | 2 +- src/backend/InvenTree/report/models.py | 5 +- src/backend/InvenTree/report/tests.py | 14 +- src/backend/InvenTree/stock/admin.py | 10 - src/backend/InvenTree/stock/api.py | 36 +-- .../migrations/0036_stockitemattachment.py | 2 +- .../migrations/0059_auto_20210404_2016.py | 2 +- .../migrations/0070_auto_20211128_0151.py | 2 +- .../0111_delete_stockitemattachment.py | 21 ++ src/backend/InvenTree/stock/models.py | 18 +- src/backend/InvenTree/stock/serializers.py | 16 -- .../InvenTree/stock/templates/stock/item.html | 12 +- src/backend/InvenTree/stock/test_api.py | 21 +- .../templates/js/translated/attachment.js | 64 +++-- src/backend/InvenTree/users/api.py | 22 +- .../migrations/0011_auto_20240523_1640.py | 4 + src/backend/InvenTree/users/models.py | 11 +- src/frontend/src/defaults/formatters.tsx | 22 +- src/frontend/src/enums/ApiEndpoints.tsx | 9 +- src/frontend/src/pages/Index/Playground.tsx | 17 -- src/frontend/src/pages/build/BuildDetail.tsx | 6 +- .../src/pages/company/CompanyDetail.tsx | 5 +- .../pages/company/ManufacturerPartDetail.tsx | 5 +- src/frontend/src/pages/part/PartDetail.tsx | 6 +- .../part/pricing/PricingOverviewPanel.tsx | 4 +- .../part/pricing/PurchaseHistoryPanel.tsx | 4 +- .../pages/purchasing/PurchaseOrderDetail.tsx | 5 +- .../src/pages/sales/ReturnOrderDetail.tsx | 5 +- .../src/pages/sales/SalesOrderDetail.tsx | 5 +- src/frontend/src/pages/stock/StockDetail.tsx | 5 +- src/frontend/src/states/UserState.tsx | 68 ++++- src/frontend/src/states/states.tsx | 1 + src/frontend/src/tables/ColumnRenderers.tsx | 4 +- .../src/tables/general/AttachmentTable.tsx | 156 ++++++----- .../tables/stock/StockItemTestResultTable.tsx | 6 +- src/frontend/tests/pages/pui_index.spec.ts | 6 - tasks.py | 1 + 111 files changed, 1549 insertions(+), 1232 deletions(-) create mode 100644 src/backend/InvenTree/build/migrations/0051_delete_buildorderattachment.py create mode 100644 src/backend/InvenTree/common/migrations/0025_attachment.py create mode 100644 src/backend/InvenTree/common/migrations/0026_auto_20240608_1238.py create mode 100644 src/backend/InvenTree/common/test_migrations.py delete mode 100644 src/backend/InvenTree/common/test_views.py create mode 100644 src/backend/InvenTree/company/migrations/0070_remove_manufacturerpartattachment_manufacturer_part_and_more.py create mode 100644 src/backend/InvenTree/order/migrations/0100_remove_returnorderattachment_order_and_more.py create mode 100644 src/backend/InvenTree/part/migrations/0124_delete_partattachment.py create mode 100644 src/backend/InvenTree/stock/migrations/0111_delete_stockitemattachment.py diff --git a/.github/actions/migration/action.yaml b/.github/actions/migration/action.yaml index a5c4c7a56f..22c5d45864 100644 --- a/.github/actions/migration/action.yaml +++ b/.github/actions/migration/action.yaml @@ -13,5 +13,5 @@ runs: invoke export-records -f data.json python3 ./src/backend/InvenTree/manage.py flush --noinput invoke migrate - invoke import-records -f data.json - invoke import-records -f data.json + invoke import-records -c -f data.json + invoke import-records -c -f data.json diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 7e177aa3d6..565df81356 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -115,9 +115,10 @@ jobs: - name: Run Unit Tests run: | echo "GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}" >> contrib/container/docker.dev.env - docker compose --project-directory . -f contrib/container/dev-docker-compose.yml run inventree-dev-server invoke test --disable-pty - docker compose --project-directory . -f contrib/container/dev-docker-compose.yml run inventree-dev-server invoke test --migrations --disable-pty - docker compose --project-directory . -f contrib/container/dev-docker-compose.yml down + docker compose --project-directory . -f contrib/container/dev-docker-compose.yml run --rm inventree-dev-server invoke test --disable-pty + - name: Run Migration Tests + run: | + docker compose --project-directory . -f contrib/container/dev-docker-compose.yml run --rm inventree-dev-server invoke test --migrations - name: Clean up test folder run: | rm -rf InvenTree/_testfolder diff --git a/src/backend/InvenTree/InvenTree/api.py b/src/backend/InvenTree/InvenTree/api.py index c3c0db4af2..dd5bca8243 100644 --- a/src/backend/InvenTree/InvenTree/api.py +++ b/src/backend/InvenTree/InvenTree/api.py @@ -419,22 +419,6 @@ class APIDownloadMixin: raise NotImplementedError('download_queryset method not implemented!') -class AttachmentMixin: - """Mixin for creating attachment objects, and ensuring the user information is saved correctly.""" - - permission_classes = [permissions.IsAuthenticated, RolePermission] - - filter_backends = SEARCH_ORDER_FILTER - - search_fields = ['attachment', 'comment', 'link'] - - def perform_create(self, serializer): - """Save the user information when a file is uploaded.""" - attachment = serializer.save() - attachment.user = self.request.user - attachment.save() - - class APISearchViewSerializer(serializers.Serializer): """Serializer for the APISearchView.""" diff --git a/src/backend/InvenTree/InvenTree/api_version.py b/src/backend/InvenTree/InvenTree/api_version.py index cd371ed20a..04b82cf536 100644 --- a/src/backend/InvenTree/InvenTree/api_version.py +++ b/src/backend/InvenTree/InvenTree/api_version.py @@ -1,11 +1,16 @@ """InvenTree API version information.""" # InvenTree API version -INVENTREE_API_VERSION = 206 +INVENTREE_API_VERSION = 207 """Increment this API version number whenever there is a significant change to the API that any clients need to know about.""" INVENTREE_API_TEXT = """ +v207 - 2024-06-09 : https://github.com/inventree/InvenTree/pull/7420 + - Moves all "Attachment" models into a single table + - All "Attachment" operations are now performed at /api/attachment/ + - Add permissions information to /api/user/roles/ endpoint + v206 - 2024-06-08 : https://github.com/inventree/InvenTree/pull/7417 - Adds "choices" field to the PartTestTemplate model diff --git a/src/backend/InvenTree/InvenTree/exchange.py b/src/backend/InvenTree/InvenTree/exchange.py index 2b118b696e..ab02883058 100644 --- a/src/backend/InvenTree/InvenTree/exchange.py +++ b/src/backend/InvenTree/InvenTree/exchange.py @@ -8,6 +8,7 @@ from djmoney.contrib.exchange.backends.base import SimpleExchangeBackend from djmoney.contrib.exchange.models import ExchangeBackend, Rate from common.currency import currency_code_default, currency_codes +from common.settings import get_global_setting logger = logging.getLogger('inventree') @@ -22,14 +23,13 @@ class InvenTreeExchange(SimpleExchangeBackend): def get_rates(self, **kwargs) -> dict: """Set the requested currency codes and get rates.""" - from common.models import InvenTreeSetting from plugin import registry base_currency = kwargs.get('base_currency', currency_code_default()) symbols = kwargs.get('symbols', currency_codes()) # Find the selected exchange rate plugin - slug = InvenTreeSetting.get_setting('CURRENCY_UPDATE_PLUGIN', '', create=False) + slug = get_global_setting('CURRENCY_UPDATE_PLUGIN', create=False) if slug: plugin = registry.get_plugin(slug) diff --git a/src/backend/InvenTree/InvenTree/fields.py b/src/backend/InvenTree/InvenTree/fields.py index b1b276abb1..01efe65ae1 100644 --- a/src/backend/InvenTree/InvenTree/fields.py +++ b/src/backend/InvenTree/InvenTree/fields.py @@ -33,7 +33,7 @@ class InvenTreeRestURLField(RestURLField): def run_validation(self, data=empty): """Override default validation behaviour for this field type.""" - strict_urls = get_global_setting('INVENTREE_STRICT_URLS', True, cache=False) + strict_urls = get_global_setting('INVENTREE_STRICT_URLS', cache=False) if not strict_urls and data is not empty and '://' not in data: # Validate as if there were a schema provided diff --git a/src/backend/InvenTree/InvenTree/middleware.py b/src/backend/InvenTree/InvenTree/middleware.py index d5463af22e..5790c8c9b9 100644 --- a/src/backend/InvenTree/InvenTree/middleware.py +++ b/src/backend/InvenTree/InvenTree/middleware.py @@ -12,6 +12,7 @@ from django.urls import Resolver404, include, path, resolve, reverse_lazy from allauth_2fa.middleware import AllauthTwoFactorMiddleware, BaseRequire2FAMiddleware from error_report.middleware import ExceptionProcessor +from common.settings import get_global_setting from InvenTree.urls import frontendpatterns from users.models import ApiToken @@ -153,11 +154,9 @@ class Check2FAMiddleware(BaseRequire2FAMiddleware): def require_2fa(self, request): """Use setting to check if MFA should be enforced for frontend page.""" - from common.models import InvenTreeSetting - try: if url_matcher.resolve(request.path[1:]): - return InvenTreeSetting.get_setting('LOGIN_ENFORCE_MFA') + return get_global_setting('LOGIN_ENFORCE_MFA') except Resolver404: pass return False diff --git a/src/backend/InvenTree/InvenTree/models.py b/src/backend/InvenTree/InvenTree/models.py index 0e2b4ca9e9..3437290a68 100644 --- a/src/backend/InvenTree/InvenTree/models.py +++ b/src/backend/InvenTree/InvenTree/models.py @@ -1,9 +1,7 @@ """Generic models which provide extra functionality over base Django model types.""" import logging -import os from datetime import datetime -from io import BytesIO from django.conf import settings from django.contrib.auth import get_user_model @@ -20,11 +18,11 @@ from error_report.models import Error from mptt.exceptions import InvalidMove from mptt.models import MPTTModel, TreeForeignKey +import common.settings import InvenTree.fields import InvenTree.format import InvenTree.helpers import InvenTree.helpers_model -from InvenTree.sanitizer import sanitize_svg logger = logging.getLogger('inventree') @@ -304,10 +302,7 @@ class ReferenceIndexingMixin(models.Model): if cls.REFERENCE_PATTERN_SETTING is None: return '' - # import at function level to prevent cyclic imports - from common.models import InvenTreeSetting - - return InvenTreeSetting.get_setting( + return common.settings.get_global_setting( cls.REFERENCE_PATTERN_SETTING, create=False ).strip() @@ -503,200 +498,64 @@ class InvenTreeMetadataModel(MetadataMixin, InvenTreeModel): abstract = True -def rename_attachment(instance, filename): - """Function for renaming an attachment file. The subdirectory for the uploaded file is determined by the implementing class. - - Args: - instance: Instance of a PartAttachment object - filename: name of uploaded file - - Returns: - path to store file, format: '//filename' - """ - # Construct a path to store a file attachment for a given model type - return os.path.join(instance.getSubdir(), filename) - - -class InvenTreeAttachment(InvenTreeModel): +class InvenTreeAttachmentMixin: """Provides an abstracted class for managing file attachments. - An attachment can be either an uploaded file, or an external URL + Links the implementing model to the common.models.Attachment table, + and provides the following methods: - Attributes: - attachment: Upload file - link: External URL - comment: String descriptor for the attachment - user: User associated with file upload - upload_date: Date the file was uploaded + - attachments: Return a queryset containing all attachments for this model """ - class Meta: - """Metaclass options. Abstract ensures no database table is created.""" + def delete(self): + """Handle the deletion of a model instance. - abstract = True - - def getSubdir(self): - """Return the subdirectory under which attachments should be stored. - - Note: Re-implement this for each subclass of InvenTreeAttachment + Before deleting the model instance, delete any associated attachments. """ - return 'attachments' - - def save(self, *args, **kwargs): - """Provide better validation error.""" - # Either 'attachment' or 'link' must be specified! - if not self.attachment and not self.link: - raise ValidationError({ - 'attachment': _('Missing file'), - 'link': _('Missing external link'), - }) - - if self.attachment and self.attachment.name.lower().endswith('.svg'): - self.attachment.file.file = self.clean_svg(self.attachment) - - super().save(*args, **kwargs) - - def clean_svg(self, field): - """Sanitize SVG file before saving.""" - cleaned = sanitize_svg(field.file.read()) - return BytesIO(bytes(cleaned, 'utf8')) - - def __str__(self): - """Human name for attachment.""" - if self.attachment is not None: - return os.path.basename(self.attachment.name) - return str(self.link) - - attachment = models.FileField( - upload_to=rename_attachment, - verbose_name=_('Attachment'), - help_text=_('Select file to attach'), - blank=True, - null=True, - ) - - link = InvenTree.fields.InvenTreeURLField( - blank=True, - null=True, - verbose_name=_('Link'), - help_text=_('Link to external URL'), - ) - - comment = models.CharField( - blank=True, - max_length=100, - verbose_name=_('Comment'), - help_text=_('File comment'), - ) - - user = models.ForeignKey( - User, - on_delete=models.SET_NULL, - blank=True, - null=True, - verbose_name=_('User'), - help_text=_('User'), - ) - - upload_date = models.DateField( - auto_now_add=True, null=True, blank=True, verbose_name=_('upload date') - ) + self.attachments.all().delete() + super().delete() @property - def basename(self): - """Base name/path for attachment.""" - if self.attachment: - return os.path.basename(self.attachment.name) - return None + def attachments(self): + """Return a queryset containing all attachments for this model.""" + return self.attachments_for_model().filter(model_id=self.pk) - @basename.setter - def basename(self, fn): - """Function to rename the attachment file. + @classmethod + def check_attachment_permission(cls, permission, user) -> bool: + """Check if the user has permission to perform the specified action on the attachment. - - Filename cannot be empty - - Filename cannot contain illegal characters - - Filename must specify an extension - - Filename cannot match an existing file + The default implementation runs a permission check against *this* model class, + but this can be overridden in the implementing class if required. + + Arguments: + permission: The permission to check (add / change / view / delete) + user: The user to check against + + Returns: + bool: True if the user has permission, False otherwise """ - fn = fn.strip() + perm = f'{cls._meta.app_label}.{permission}_{cls._meta.model_name}' + return user.has_perm(perm) - if len(fn) == 0: - raise ValidationError(_('Filename must not be empty')) + def attachments_for_model(self): + """Return all attachments for this model class.""" + from common.models import Attachment - attachment_dir = settings.MEDIA_ROOT.joinpath(self.getSubdir()) - old_file = settings.MEDIA_ROOT.joinpath(self.attachment.name) - new_file = settings.MEDIA_ROOT.joinpath(self.getSubdir(), fn).resolve() + model_type = self.__class__.__name__.lower() - # Check that there are no directory tricks going on... - if new_file.parent != attachment_dir: - logger.error( - "Attempted to rename attachment outside valid directory: '%s'", new_file - ) - raise ValidationError(_('Invalid attachment directory')) + return Attachment.objects.filter(model_type=model_type) - # Ignore further checks if the filename is not actually being renamed - if new_file == old_file: - return + def create_attachment(self, attachment=None, link=None, comment='', **kwargs): + """Create an attachment / link for this model.""" + from common.models import Attachment - forbidden = [ - "'", - '"', - '#', - '@', - '!', - '&', - '^', - '<', - '>', - ':', - ';', - '/', - '\\', - '|', - '?', - '*', - '%', - '~', - '`', - ] + kwargs['attachment'] = attachment + kwargs['link'] = link + kwargs['comment'] = comment + kwargs['model_type'] = self.__class__.__name__.lower() + kwargs['model_id'] = self.pk - for c in forbidden: - if c in fn: - raise ValidationError(_(f"Filename contains illegal character '{c}'")) - - if len(fn.split('.')) < 2: - raise ValidationError(_('Filename missing extension')) - - if not old_file.exists(): - logger.error( - "Trying to rename attachment '%s' which does not exist", old_file - ) - return - - if new_file.exists(): - raise ValidationError(_('Attachment with this filename already exists')) - - try: - os.rename(old_file, new_file) - self.attachment.name = os.path.join(self.getSubdir(), fn) - self.save() - except Exception: - raise ValidationError(_('Error renaming file')) - - def fully_qualified_url(self): - """Return a 'fully qualified' URL for this attachment. - - - If the attachment is a link to an external resource, return the link - - If the attachment is an uploaded file, return the fully qualified media URL - """ - if self.link: - return self.link - - if self.attachment: - media_url = InvenTree.helpers.getMediaUrl(self.attachment.url) - return InvenTree.helpers_model.construct_absolute_url(media_url) - - return '' + Attachment.objects.create(**kwargs) class InvenTreeTree(MetadataMixin, PluginValidationMixin, MPTTModel): diff --git a/src/backend/InvenTree/InvenTree/serializers.py b/src/backend/InvenTree/InvenTree/serializers.py index 1ee69b403a..dd906f42c9 100644 --- a/src/backend/InvenTree/InvenTree/serializers.py +++ b/src/backend/InvenTree/InvenTree/serializers.py @@ -509,43 +509,6 @@ class InvenTreeAttachmentSerializerField(serializers.FileField): return os.path.join(str(settings.MEDIA_URL), str(value)) -class InvenTreeAttachmentSerializer(InvenTreeModelSerializer): - """Special case of an InvenTreeModelSerializer, which handles an "attachment" model. - - The only real addition here is that we support "renaming" of the attachment file. - """ - - @staticmethod - def attachment_fields(extra_fields=None): - """Default set of fields for an attachment serializer.""" - fields = [ - 'pk', - 'attachment', - 'filename', - 'link', - 'comment', - 'upload_date', - 'user', - 'user_detail', - ] - - if extra_fields: - fields += extra_fields - - return fields - - user_detail = UserSerializer(source='user', read_only=True, many=False) - - attachment = InvenTreeAttachmentSerializerField(required=False, allow_null=False) - - # The 'filename' field must be present in the serializer - filename = serializers.CharField( - label=_('Filename'), required=False, source='basename', allow_blank=False - ) - - upload_date = serializers.DateField(read_only=True) - - class InvenTreeImageSerializerField(serializers.ImageField): """Custom image serializer. diff --git a/src/backend/InvenTree/InvenTree/settings.py b/src/backend/InvenTree/InvenTree/settings.py index 7aed4489a5..69698d140d 100644 --- a/src/backend/InvenTree/InvenTree/settings.py +++ b/src/backend/InvenTree/InvenTree/settings.py @@ -296,6 +296,7 @@ ADMIN_SHELL_IMPORT_MODELS = False if ( DEBUG and INVENTREE_ADMIN_ENABLED + and not TESTING and get_boolean_setting('INVENTREE_DEBUG_SHELL', 'debug_shell', False) ): # noqa try: diff --git a/src/backend/InvenTree/InvenTree/unit_test.py b/src/backend/InvenTree/InvenTree/unit_test.py index aee89660f3..f72654f730 100644 --- a/src/backend/InvenTree/InvenTree/unit_test.py +++ b/src/backend/InvenTree/InvenTree/unit_test.py @@ -152,6 +152,17 @@ class UserMixin: """Lougout current user.""" self.client.logout() + @classmethod + def clearRoles(cls): + """Remove all user roles from the registered user.""" + for ruleset in cls.group.rule_sets.all(): + ruleset.can_view = False + ruleset.can_change = False + ruleset.can_delete = False + ruleset.can_add = False + + ruleset.save() + @classmethod def assignRole(cls, role=None, assign_all: bool = False, group=None): """Set the user roles for the registered user. @@ -267,7 +278,7 @@ class InvenTreeAPITestCase(ExchangeRateMixin, UserMixin, APITestCase): f'Query count exceeded at {url}: Expected < {value} queries, got {n}' ) # pragma: no cover - if verbose: + if verbose or n >= value: msg = '\r\n%s' % json.dumps( context.captured_queries, indent=4 ) # pragma: no cover @@ -296,7 +307,7 @@ class InvenTreeAPITestCase(ExchangeRateMixin, UserMixin, APITestCase): if hasattr(response, 'content'): print('content:', response.content) - self.assertEqual(expected_code, response.status_code) + self.assertEqual(response.status_code, expected_code) def getActions(self, url): """Return a dict of the 'actions' available at a given endpoint. @@ -314,17 +325,17 @@ class InvenTreeAPITestCase(ExchangeRateMixin, UserMixin, APITestCase): if data is None: data = {} - expected_code = kwargs.pop('expected_code', None) - kwargs['format'] = kwargs.get('format', 'json') - max_queries = kwargs.get('max_query_count', self.MAX_QUERY_COUNT) - max_query_time = kwargs.get('max_query_time', self.MAX_QUERY_TIME) + expected_code = kwargs.pop('expected_code', None) + max_queries = kwargs.pop('max_query_count', self.MAX_QUERY_COUNT) + max_query_time = kwargs.pop('max_query_time', self.MAX_QUERY_TIME) t1 = time.time() with self.assertNumQueriesLessThan(max_queries, url=url): response = method(url, data, **kwargs) + t2 = time.time() dt = t2 - t1 diff --git a/src/backend/InvenTree/InvenTree/validators.py b/src/backend/InvenTree/InvenTree/validators.py index d01d79f633..f2a85bc18f 100644 --- a/src/backend/InvenTree/InvenTree/validators.py +++ b/src/backend/InvenTree/InvenTree/validators.py @@ -13,6 +13,7 @@ from jinja2 import Template from moneyed import CURRENCIES import InvenTree.conversion +from common.settings import get_global_setting def validate_physical_units(unit): @@ -63,14 +64,10 @@ class AllowedURLValidator(validators.URLValidator): def __call__(self, value): """Validate the URL.""" - import common.models - self.schemes = allowable_url_schemes() # Determine if 'strict' URL validation is required (i.e. if the URL must have a schema prefix) - strict_urls = common.models.InvenTreeSetting.get_setting( - 'INVENTREE_STRICT_URLS', True, cache=False - ) + strict_urls = get_global_setting('INVENTREE_STRICT_URLS', cache=False) if not strict_urls: # Allow URLs which do not have a provided schema diff --git a/src/backend/InvenTree/InvenTree/version.py b/src/backend/InvenTree/InvenTree/version.py index 6c67752cb5..a3c110bf4c 100644 --- a/src/backend/InvenTree/InvenTree/version.py +++ b/src/backend/InvenTree/InvenTree/version.py @@ -53,13 +53,13 @@ def checkMinPythonVersion(): def inventreeInstanceName(): """Returns the InstanceName settings for the current database.""" - return get_global_setting('INVENTREE_INSTANCE', '') + return get_global_setting('INVENTREE_INSTANCE') def inventreeInstanceTitle(): """Returns the InstanceTitle for the current database.""" - if get_global_setting('INVENTREE_INSTANCE_TITLE', False): - return get_global_setting('INVENTREE_INSTANCE', 'InvenTree') + if get_global_setting('INVENTREE_INSTANCE_TITLE'): + return get_global_setting('INVENTREE_INSTANCE') return 'InvenTree' diff --git a/src/backend/InvenTree/build/api.py b/src/backend/InvenTree/build/api.py index dd0e3bb6b6..57c66a4182 100644 --- a/src/backend/InvenTree/build/api.py +++ b/src/backend/InvenTree/build/api.py @@ -11,7 +11,7 @@ from rest_framework.exceptions import ValidationError from django_filters.rest_framework import DjangoFilterBackend from django_filters import rest_framework as rest_filters -from InvenTree.api import AttachmentMixin, APIDownloadMixin, ListCreateDestroyAPIView, MetadataView +from InvenTree.api import APIDownloadMixin, MetadataView from generic.states.api import StatusView from InvenTree.helpers import str2bool, isNull, DownloadFile from build.status_codes import BuildStatus, BuildStatusGroups @@ -20,7 +20,7 @@ from InvenTree.mixins import CreateAPI, RetrieveUpdateDestroyAPI, ListCreateAPI import common.models import build.admin import build.serializers -from build.models import Build, BuildLine, BuildItem, BuildOrderAttachment +from build.models import Build, BuildLine, BuildItem import part.models from users.models import Owner from InvenTree.filters import SEARCH_ORDER_FILTER_ALIAS @@ -614,32 +614,8 @@ class BuildItemList(ListCreateAPI): ] -class BuildAttachmentList(AttachmentMixin, ListCreateDestroyAPIView): - """API endpoint for listing (and creating) BuildOrderAttachment objects.""" - - queryset = BuildOrderAttachment.objects.all() - serializer_class = build.serializers.BuildAttachmentSerializer - - filterset_fields = [ - 'build', - ] - - -class BuildAttachmentDetail(AttachmentMixin, RetrieveUpdateDestroyAPI): - """Detail endpoint for a BuildOrderAttachment object.""" - - queryset = BuildOrderAttachment.objects.all() - serializer_class = build.serializers.BuildAttachmentSerializer - - build_api_urls = [ - # Attachments - path('attachment/', include([ - path('/', BuildAttachmentDetail.as_view(), name='api-build-attachment-detail'), - path('', BuildAttachmentList.as_view(), name='api-build-attachment-list'), - ])), - # Build lines path('line/', include([ path('/', BuildLineDetail.as_view(), name='api-build-line-detail'), diff --git a/src/backend/InvenTree/build/migrations/0022_buildorderattachment.py b/src/backend/InvenTree/build/migrations/0022_buildorderattachment.py index 0256649027..47ecbf7f98 100644 --- a/src/backend/InvenTree/build/migrations/0022_buildorderattachment.py +++ b/src/backend/InvenTree/build/migrations/0022_buildorderattachment.py @@ -18,7 +18,7 @@ class Migration(migrations.Migration): name='BuildOrderAttachment', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('attachment', models.FileField(help_text='Select file to attach', upload_to=InvenTree.models.rename_attachment)), + ('attachment', models.FileField(help_text='Select file to attach', upload_to='attachments')), ('comment', models.CharField(blank=True, help_text='File comment', max_length=100)), ('upload_date', models.DateField(auto_now_add=True, null=True)), ('build', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='attachments', to='build.Build')), diff --git a/src/backend/InvenTree/build/migrations/0027_auto_20210404_2016.py b/src/backend/InvenTree/build/migrations/0027_auto_20210404_2016.py index f4a2c1afde..6d34eae5b5 100644 --- a/src/backend/InvenTree/build/migrations/0027_auto_20210404_2016.py +++ b/src/backend/InvenTree/build/migrations/0027_auto_20210404_2016.py @@ -65,7 +65,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='buildorderattachment', name='attachment', - field=models.FileField(help_text='Select file to attach', upload_to=InvenTree.models.rename_attachment, verbose_name='Attachment'), + field=models.FileField(help_text='Select file to attach', upload_to='attachments', verbose_name='Attachment'), ), migrations.AlterField( model_name='buildorderattachment', diff --git a/src/backend/InvenTree/build/migrations/0033_auto_20211128_0151.py b/src/backend/InvenTree/build/migrations/0033_auto_20211128_0151.py index db8df848ce..5558fe8973 100644 --- a/src/backend/InvenTree/build/migrations/0033_auto_20211128_0151.py +++ b/src/backend/InvenTree/build/migrations/0033_auto_20211128_0151.py @@ -20,6 +20,6 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='buildorderattachment', name='attachment', - field=models.FileField(blank=True, help_text='Select file to attach', null=True, upload_to=InvenTree.models.rename_attachment, verbose_name='Attachment'), + field=models.FileField(blank=True, help_text='Select file to attach', null=True, upload_to='attachments', verbose_name='Attachment'), ), ] diff --git a/src/backend/InvenTree/build/migrations/0051_delete_buildorderattachment.py b/src/backend/InvenTree/build/migrations/0051_delete_buildorderattachment.py new file mode 100644 index 0000000000..d600bd240f --- /dev/null +++ b/src/backend/InvenTree/build/migrations/0051_delete_buildorderattachment.py @@ -0,0 +1,21 @@ +# Generated by Django 4.2.12 on 2024-06-09 09:02 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('build', '0050_auto_20240508_0138'), + ('common', '0026_auto_20240608_1238'), + ('company', '0069_company_active'), + ('order', '0099_alter_salesorder_status'), + ('part', '0123_parttesttemplate_choices'), + ('stock', '0110_alter_stockitemtestresult_finished_datetime_and_more') + ] + + operations = [ + migrations.DeleteModel( + name='BuildOrderAttachment', + ), + ] diff --git a/src/backend/InvenTree/build/models.py b/src/backend/InvenTree/build/models.py index 31bf282d59..7430eb4a29 100644 --- a/src/backend/InvenTree/build/models.py +++ b/src/backend/InvenTree/build/models.py @@ -50,6 +50,7 @@ logger = logging.getLogger('inventree') class Build( report.mixins.InvenTreeReportMixin, + InvenTree.models.InvenTreeAttachmentMixin, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models.InvenTreeNotesMixin, InvenTree.models.MetadataMixin, @@ -1322,16 +1323,6 @@ def after_save_build(sender, instance: Build, created: bool, **kwargs): instance.update_build_line_items() -class BuildOrderAttachment(InvenTree.models.InvenTreeAttachment): - """Model for storing file attachments against a BuildOrder object.""" - - def getSubdir(self): - """Return the media file subdirectory for storing BuildOrder attachments""" - return os.path.join('bo_files', str(self.build.id)) - - build = models.ForeignKey(Build, on_delete=models.CASCADE, related_name='attachments') - - class BuildLine(report.mixins.InvenTreeReportMixin, InvenTree.models.InvenTreeModel): """A BuildLine object links a BOMItem to a Build. diff --git a/src/backend/InvenTree/build/serializers.py b/src/backend/InvenTree/build/serializers.py index 4be7409fde..fe33f0a729 100644 --- a/src/backend/InvenTree/build/serializers.py +++ b/src/backend/InvenTree/build/serializers.py @@ -13,8 +13,7 @@ from django.db.models.functions import Coalesce from rest_framework import serializers from rest_framework.serializers import ValidationError -from InvenTree.serializers import InvenTreeModelSerializer, InvenTreeAttachmentSerializer -from InvenTree.serializers import UserSerializer +from InvenTree.serializers import InvenTreeModelSerializer, UserSerializer import InvenTree.helpers from InvenTree.serializers import InvenTreeDecimalField, NotesFieldMixin @@ -30,7 +29,7 @@ import part.filters from part.serializers import BomItemSerializer, PartSerializer, PartBriefSerializer from users.serializers import OwnerSerializer -from .models import Build, BuildLine, BuildItem, BuildOrderAttachment +from .models import Build, BuildLine, BuildItem class BuildSerializer(NotesFieldMixin, InvenTreeModelSerializer): @@ -1311,15 +1310,3 @@ class BuildLineSerializer(InvenTreeModelSerializer): ) return queryset - - -class BuildAttachmentSerializer(InvenTreeAttachmentSerializer): - """Serializer for a BuildAttachment.""" - - class Meta: - """Serializer metaclass""" - model = BuildOrderAttachment - - fields = InvenTreeAttachmentSerializer.attachment_fields([ - 'build', - ]) diff --git a/src/backend/InvenTree/build/templates/build/detail.html b/src/backend/InvenTree/build/templates/build/detail.html index 138f0a14d4..7daa1dc218 100644 --- a/src/backend/InvenTree/build/templates/build/detail.html +++ b/src/backend/InvenTree/build/templates/build/detail.html @@ -326,18 +326,7 @@ onPanelLoad('children', function() { }); onPanelLoad('attachments', function() { - - loadAttachmentTable('{% url "api-build-attachment-list" %}', { - filters: { - build: {{ build.pk }}, - }, - fields: { - build: { - value: {{ build.pk }}, - hidden: true, - } - } - }); + loadAttachmentTable('build', {{ build.pk }}); }); onPanelLoad('notes', function() { diff --git a/src/backend/InvenTree/build/test_migrations.py b/src/backend/InvenTree/build/test_migrations.py index dba739764a..4a0c720e5d 100644 --- a/src/backend/InvenTree/build/test_migrations.py +++ b/src/backend/InvenTree/build/test_migrations.py @@ -19,7 +19,6 @@ class TestForwardMigrations(MigratorTestCase): name='Widget', description='Buildable Part', active=True, - level=0, lft=0, rght=0, tree_id=0, ) Build = self.old_state.apps.get_model('build', 'build') @@ -61,7 +60,6 @@ class TestReferenceMigration(MigratorTestCase): part = Part.objects.create( name='Part', description='A test part', - level=0, lft=0, rght=0, tree_id=0, ) Build = self.old_state.apps.get_model('build', 'build') diff --git a/src/backend/InvenTree/common/admin.py b/src/backend/InvenTree/common/admin.py index 9dd3a05018..a0719f9ab4 100644 --- a/src/backend/InvenTree/common/admin.py +++ b/src/backend/InvenTree/common/admin.py @@ -5,6 +5,34 @@ from django.contrib import admin from import_export.admin import ImportExportModelAdmin import common.models +import common.validators + + +@admin.register(common.models.Attachment) +class AttachmentAdmin(admin.ModelAdmin): + """Admin interface for Attachment objects.""" + + def formfield_for_dbfield(self, db_field, request, **kwargs): + """Provide custom choices for 'model_type' field.""" + if db_field.name == 'model_type': + db_field.choices = common.validators.attachment_model_options() + + return super().formfield_for_dbfield(db_field, request, **kwargs) + + list_display = ( + 'model_type', + 'model_id', + 'attachment', + 'link', + 'upload_user', + 'upload_date', + ) + + list_filter = ['model_type', 'upload_user'] + + readonly_fields = ['file_size', 'upload_date', 'upload_user'] + + search_fields = ('content_type', 'comment') @admin.register(common.models.ProjectCode) @@ -16,6 +44,7 @@ class ProjectCodeAdmin(ImportExportModelAdmin): search_fields = ('code', 'description') +@admin.register(common.models.InvenTreeSetting) class SettingsAdmin(ImportExportModelAdmin): """Admin settings for InvenTreeSetting.""" @@ -28,6 +57,7 @@ class SettingsAdmin(ImportExportModelAdmin): return [] +@admin.register(common.models.InvenTreeUserSetting) class UserSettingsAdmin(ImportExportModelAdmin): """Admin settings for InvenTreeUserSetting.""" @@ -40,18 +70,21 @@ class UserSettingsAdmin(ImportExportModelAdmin): return [] +@admin.register(common.models.WebhookEndpoint) class WebhookAdmin(ImportExportModelAdmin): """Admin settings for Webhook.""" list_display = ('endpoint_id', 'name', 'active', 'user') +@admin.register(common.models.NotificationEntry) class NotificationEntryAdmin(admin.ModelAdmin): """Admin settings for NotificationEntry.""" list_display = ('key', 'uid', 'updated') +@admin.register(common.models.NotificationMessage) class NotificationMessageAdmin(admin.ModelAdmin): """Admin settings for NotificationMessage.""" @@ -70,16 +103,11 @@ class NotificationMessageAdmin(admin.ModelAdmin): search_fields = ('name', 'category', 'message') +@admin.register(common.models.NewsFeedEntry) class NewsFeedEntryAdmin(admin.ModelAdmin): """Admin settings for NewsFeedEntry.""" list_display = ('title', 'author', 'published', 'summary') -admin.site.register(common.models.InvenTreeSetting, SettingsAdmin) -admin.site.register(common.models.InvenTreeUserSetting, UserSettingsAdmin) -admin.site.register(common.models.WebhookEndpoint, WebhookAdmin) admin.site.register(common.models.WebhookMessage, ImportExportModelAdmin) -admin.site.register(common.models.NotificationEntry, NotificationEntryAdmin) -admin.site.register(common.models.NotificationMessage, NotificationMessageAdmin) -admin.site.register(common.models.NewsFeedEntry, NewsFeedEntryAdmin) diff --git a/src/backend/InvenTree/common/api.py b/src/backend/InvenTree/common/api.py index 6965b21ec8..9819543a5b 100644 --- a/src/backend/InvenTree/common/api.py +++ b/src/backend/InvenTree/common/api.py @@ -4,18 +4,21 @@ import json from django.conf import settings from django.contrib.contenttypes.models import ContentType +from django.db.models import Q from django.http.response import HttpResponse from django.urls import include, path, re_path from django.utils.decorators import method_decorator +from django.utils.translation import gettext_lazy as _ from django.views.decorators.csrf import csrf_exempt import django_q.models +from django_filters import rest_framework as rest_filters from django_q.tasks import async_task from djmoney.contrib.exchange.models import ExchangeBackend, Rate from drf_spectacular.utils import OpenApiResponse, extend_schema from error_report.models import Error from rest_framework import permissions, serializers -from rest_framework.exceptions import NotAcceptable, NotFound +from rest_framework.exceptions import NotAcceptable, NotFound, PermissionDenied from rest_framework.permissions import IsAdminUser from rest_framework.response import Response from rest_framework.views import APIView @@ -674,6 +677,71 @@ class ContentTypeModelDetail(ContentTypeDetail): raise NotFound() +class AttachmentFilter(rest_filters.FilterSet): + """Filterset for the AttachmentList API endpoint.""" + + class Meta: + """Metaclass options.""" + + model = common.models.Attachment + fields = ['model_type', 'model_id', 'upload_user'] + + is_link = rest_filters.BooleanFilter(label=_('Is Link'), method='filter_is_link') + + def filter_is_link(self, queryset, name, value): + """Filter attachments based on whether they are a link or not.""" + if value: + return queryset.exclude(link=None).exclude(link='') + return queryset.filter(Q(link=None) | Q(link='')).distinct() + + is_file = rest_filters.BooleanFilter(label=_('Is File'), method='filter_is_file') + + def filter_is_file(self, queryset, name, value): + """Filter attachments based on whether they are a file or not.""" + if value: + return queryset.exclude(attachment=None).exclude(attachment='') + return queryset.filter(Q(attachment=None) | Q(attachment='')).distinct() + + +class AttachmentList(ListCreateAPI): + """List API endpoint for Attachment objects.""" + + queryset = common.models.Attachment.objects.all() + serializer_class = common.serializers.AttachmentSerializer + permission_classes = [permissions.IsAuthenticated] + + filter_backends = SEARCH_ORDER_FILTER + filterset_class = AttachmentFilter + + ordering_fields = ['model_id', 'model_type', 'upload_date', 'file_size'] + search_fields = ['comment', 'model_id', 'model_type'] + + def perform_create(self, serializer): + """Save the user information when a file is uploaded.""" + attachment = serializer.save() + attachment.upload_user = self.request.user + attachment.save() + + +class AttachmentDetail(RetrieveUpdateDestroyAPI): + """Detail API endpoint for Attachment objects.""" + + queryset = common.models.Attachment.objects.all() + serializer_class = common.serializers.AttachmentSerializer + permission_classes = [permissions.IsAuthenticated] + + def destroy(self, request, *args, **kwargs): + """Check user permissions before deleting an attachment.""" + attachment = self.get_object() + + if not attachment.check_permission('delete', request.user): + raise PermissionDenied( + _('User does not have permission to delete this attachment') + ) + + return super().destroy(request, *args, **kwargs) + + settings_api_urls = [ # User settings path( @@ -742,6 +810,25 @@ common_api_urls = [ path('', BackgroundTaskOverview.as_view(), name='api-task-overview'), ]), ), + # Attachments + path( + 'attachment/', + include([ + path( + '/', + include([ + path( + 'metadata/', + MetadataView.as_view(), + {'model': common.models.Attachment}, + name='api-attachment-metadata', + ), + path('', AttachmentDetail.as_view(), name='api-attachment-detail'), + ]), + ), + path('', AttachmentList.as_view(), name='api-attachment-list'), + ]), + ), path( 'error-report/', include([ diff --git a/src/backend/InvenTree/common/currency.py b/src/backend/InvenTree/common/currency.py index 4c0c887b5e..5590505f12 100644 --- a/src/backend/InvenTree/common/currency.py +++ b/src/backend/InvenTree/common/currency.py @@ -28,9 +28,7 @@ def currency_code_default(): return cached_value try: - code = get_global_setting( - 'INVENTREE_DEFAULT_CURRENCY', backup_value='', create=True, cache=True - ) + code = get_global_setting('INVENTREE_DEFAULT_CURRENCY', create=True, cache=True) except Exception: # pragma: no cover # Database may not yet be ready, no need to throw an error here code = '' @@ -61,7 +59,7 @@ def currency_codes() -> list: """Returns the current currency codes.""" from common.settings import get_global_setting - codes = get_global_setting('CURRENCY_CODES', '', create=False).strip() + codes = get_global_setting('CURRENCY_CODES', create=False).strip() if not codes: codes = currency_codes_default_list() diff --git a/src/backend/InvenTree/common/migrations/0025_attachment.py b/src/backend/InvenTree/common/migrations/0025_attachment.py new file mode 100644 index 0000000000..63f9ec69a6 --- /dev/null +++ b/src/backend/InvenTree/common/migrations/0025_attachment.py @@ -0,0 +1,43 @@ +# Generated by Django 4.2.12 on 2024-06-08 12:37 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion +import taggit.managers + +import common.models +import common.validators +import InvenTree.fields +import InvenTree.models + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('contenttypes', '0002_remove_content_type_name'), + ('common', '0024_notesimage_model_id_notesimage_model_type'), + ] + + operations = [ + migrations.CreateModel( + name='Attachment', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('model_id', models.PositiveIntegerField()), + ('attachment', models.FileField(blank=True, help_text='Select file to attach', null=True, upload_to=common.models.rename_attachment, verbose_name='Attachment')), + ('link', InvenTree.fields.InvenTreeURLField(blank=True, help_text='Link to external URL', null=True, verbose_name='Link')), + ('comment', models.CharField(blank=True, help_text='Attachment comment', max_length=250, verbose_name='Comment')), + ('upload_date', models.DateField(auto_now_add=True, help_text='Date the file was uploaded', null=True, verbose_name='Upload date')), + ('file_size', models.PositiveIntegerField(default=0, help_text='File size in bytes', verbose_name='File size')), + ('model_type', models.CharField(help_text='Target model type for this image', max_length=100, validators=[common.validators.validate_attachment_model_type])), + ('upload_user', models.ForeignKey(blank=True, help_text='User', null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='User')), + ('metadata', models.JSONField(blank=True, help_text='JSON metadata field, for use by external plugins', null=True, verbose_name='Plugin Metadata')), + ('tags', taggit.managers.TaggableManager(blank=True, help_text='A comma-separated list of tags.', through='taggit.TaggedItem', to='taggit.Tag', verbose_name='Tags')) + ], + bases=(InvenTree.models.PluginValidationMixin, models.Model), + options={ + 'verbose_name': 'Attachment', + } + ), + ] diff --git a/src/backend/InvenTree/common/migrations/0026_auto_20240608_1238.py b/src/backend/InvenTree/common/migrations/0026_auto_20240608_1238.py new file mode 100644 index 0000000000..09e12e90dd --- /dev/null +++ b/src/backend/InvenTree/common/migrations/0026_auto_20240608_1238.py @@ -0,0 +1,122 @@ +# Generated by Django 4.2.12 on 2024-06-08 12:38 + +from django.db import migrations +from django.core.files.storage import default_storage + + +def get_legacy_models(): + """Return a set of legacy attachment models.""" + + # Legacy attachment types to convert: + # app_label, table name, target model, model ref + return [ + ('build', 'BuildOrderAttachment', 'build', 'build'), + ('company', 'CompanyAttachment', 'company', 'company'), + ('company', 'ManufacturerPartAttachment', 'manufacturerpart', 'manufacturer_part'), + ('order', 'PurchaseOrderAttachment', 'purchaseorder', 'order'), + ('order', 'SalesOrderAttachment', 'salesorder', 'order'), + ('order', 'ReturnOrderAttachment', 'returnorder', 'order'), + ('part', 'PartAttachment', 'part', 'part'), + ('stock', 'StockItemAttachment', 'stockitem', 'stock_item') + ] + + +def update_attachments(apps, schema_editor): + """Migrate any existing attachment models to the new attachment table.""" + + Attachment = apps.get_model('common', 'attachment') + + N = 0 + + for app, model, target_model, model_ref in get_legacy_models(): + LegacyAttachmentModel = apps.get_model(app, model) + + if LegacyAttachmentModel.objects.count() == 0: + continue + + to_create = [] + + for attachment in LegacyAttachmentModel.objects.all(): + + # Find the size of the file (if exists) + if attachment.attachment and default_storage.exists(attachment.attachment.name): + try: + file_size = default_storage.size(attachment.attachment.name) + except NotImplementedError: + file_size = 0 + else: + file_size = 0 + + to_create.append( + Attachment( + model_type=target_model, + model_id=getattr(attachment, model_ref).pk, + attachment=attachment.attachment, + link=attachment.link, + comment=attachment.comment, + upload_date=attachment.upload_date, + upload_user=attachment.user, + file_size=file_size + ) + ) + + if len(to_create) > 0: + print(f"Migrating {len(to_create)} attachments for the legacy '{model}' model.") + Attachment.objects.bulk_create(to_create) + + N += len(to_create) + + # Check the correct number of Attachment objects has been created + assert(N == Attachment.objects.count()) + + +def reverse_attachments(apps, schema_editor): + """Reverse data migration, and map new Attachment model back to legacy models.""" + + Attachment = apps.get_model('common', 'attachment') + + N = 0 + + for app, model, target_model, model_ref in get_legacy_models(): + LegacyAttachmentModel = apps.get_model(app, model) + + to_create = [] + + for attachment in Attachment.objects.filter(model_type=target_model): + + TargetModel = apps.get_model(app, target_model) + + data = { + 'attachment': attachment.attachment, + 'link': attachment.link, + 'comment': attachment.comment, + 'upload_date': attachment.upload_date, + 'user': attachment.upload_user, + model_ref: TargetModel.objects.get(pk=attachment.model_id) + } + + to_create.append(LegacyAttachmentModel(**data)) + + if len(to_create) > 0: + print(f"Reversing {len(to_create)} attachments for the legacy '{model}' model.") + LegacyAttachmentModel.objects.bulk_create(to_create) + + N += len(to_create) + + # Check the correct number of LegacyAttachmentModel objects has been created + assert(N == Attachment.objects.count()) + +class Migration(migrations.Migration): + + dependencies = [ + ('build', '0050_auto_20240508_0138'), + ('common', '0025_attachment'), + ('company', '0069_company_active'), + ('order', '0099_alter_salesorder_status'), + ('part', '0123_parttesttemplate_choices'), + ('stock', '0110_alter_stockitemtestresult_finished_datetime_and_more') + ] + + operations = [ + migrations.RunPython(update_attachments, reverse_code=reverse_attachments), + ] diff --git a/src/backend/InvenTree/common/models.py b/src/backend/InvenTree/common/models.py index b4edd79cb1..3a5a7ad7c2 100644 --- a/src/backend/InvenTree/common/models.py +++ b/src/backend/InvenTree/common/models.py @@ -12,6 +12,7 @@ import os import uuid from datetime import timedelta, timezone from enum import Enum +from io import BytesIO from secrets import compare_digest from typing import Any, Callable, TypedDict, Union @@ -23,6 +24,7 @@ from django.contrib.contenttypes.models import ContentType from django.contrib.humanize.templatetags.humanize import naturaltime from django.core.cache import cache from django.core.exceptions import ValidationError +from django.core.files.storage import default_storage from django.core.validators import MaxValueValidator, MinValueValidator, URLValidator from django.db import models, transaction from django.db.models.signals import post_delete, post_save @@ -35,6 +37,7 @@ from django.utils.translation import gettext_lazy as _ from djmoney.contrib.exchange.exceptions import MissingRate from djmoney.contrib.exchange.models import convert_money from rest_framework.exceptions import PermissionDenied +from taggit.managers import TaggableManager import build.validators import common.currency @@ -48,6 +51,7 @@ import InvenTree.validators import order.validators import report.helpers import users.models +from InvenTree.sanitizer import sanitize_svg from plugin import registry logger = logging.getLogger('inventree') @@ -549,25 +553,25 @@ class BaseInvenTreeSetting(models.Model): """ key = str(key).strip().upper() - filters = { - 'key__iexact': key, - # Optionally filter by other keys - **cls.get_filters(**kwargs), - } - # Unless otherwise specified, attempt to create the setting create = kwargs.pop('create', True) # Specify if cache lookup should be performed do_cache = kwargs.pop('cache', django_settings.GLOBAL_CACHE_ENABLED) - # Prevent saving to the database during data import - if InvenTree.ready.isImportingData(): - create = False - do_cache = False + filters = { + 'key__iexact': key, + # Optionally filter by other keys + **cls.get_filters(**kwargs), + } - # Prevent saving to the database during migrations - if InvenTree.ready.isRunningMigrations(): + # Prevent saving to the database during certain operations + if ( + InvenTree.ready.isImportingData() + or InvenTree.ready.isRunningMigrations() + or InvenTree.ready.isRebuildingData() + or InvenTree.ready.isRunningBackup() + ): create = False do_cache = False @@ -594,33 +598,21 @@ class BaseInvenTreeSetting(models.Model): setting = None # Setting does not exist! (Try to create it) - if not setting: - # Prevent creation of new settings objects when importing data - if ( - InvenTree.ready.isImportingData() - or not InvenTree.ready.canAppAccessDatabase( - allow_test=True, allow_shell=True - ) - ): - create = False + if not setting and create: + # Attempt to create a new settings object + default_value = cls.get_setting_default(key, **kwargs) + setting = cls(key=key, value=default_value, **kwargs) - if create: - # Attempt to create a new settings object - - default_value = cls.get_setting_default(key, **kwargs) - - setting = cls(key=key, value=default_value, **kwargs) - - try: - # Wrap this statement in "atomic", so it can be rolled back if it fails - with transaction.atomic(): - setting.save(**kwargs) - except (IntegrityError, OperationalError, ProgrammingError): - # It might be the case that the database isn't created yet - pass - except ValidationError: - # The setting failed validation - might be due to duplicate keys - pass + try: + # Wrap this statement in "atomic", so it can be rolled back if it fails + with transaction.atomic(): + setting.save(**kwargs) + except (IntegrityError, OperationalError, ProgrammingError): + # It might be the case that the database isn't created yet + pass + except ValidationError: + # The setting failed validation - might be due to duplicate keys + pass if setting and do_cache: # Cache this setting object @@ -694,6 +686,15 @@ class BaseInvenTreeSetting(models.Model): if change_user is not None and not change_user.is_staff: return + # Do not write to the database under certain conditions + if ( + InvenTree.ready.isImportingData() + or InvenTree.ready.isRunningMigrations() + or InvenTree.ready.isRebuildingData() + or InvenTree.ready.isRunningBackup() + ): + return + attempts = int(kwargs.get('attempts', 3)) filters = { @@ -3062,3 +3063,184 @@ def after_custom_unit_updated(sender, instance, **kwargs): from InvenTree.conversion import reload_unit_registry reload_unit_registry() + + +def rename_attachment(instance, filename): + """Callback function to rename an uploaded attachment file. + + Arguments: + - instance: The Attachment instance + - filename: The original filename of the uploaded file + + Returns: + - The new filename for the uploaded file, e.g. 'attachments///' + """ + # Remove any illegal characters from the filename + illegal_chars = '\'"\\`~#|!@#$%^&*()[]{}<>?;:+=,' + + for c in illegal_chars: + filename = filename.replace(c, '') + + filename = os.path.basename(filename) + + # Generate a new filename for the attachment + return os.path.join( + 'attachments', str(instance.model_type), str(instance.model_id), filename + ) + + +class Attachment(InvenTree.models.MetadataMixin, InvenTree.models.InvenTreeModel): + """Class which represents an uploaded file attachment. + + An attachment can be either an uploaded file, or an external URL. + + Attributes: + attachment: The uploaded file + url: An external URL + comment: A comment or description for the attachment + user: The user who uploaded the attachment + upload_date: The date the attachment was uploaded + file_size: The size of the uploaded file + metadata: Arbitrary metadata for the attachment (inherit from MetadataMixin) + tags: Tags for the attachment + """ + + class Meta: + """Metaclass options.""" + + verbose_name = _('Attachment') + + def save(self, *args, **kwargs): + """Custom 'save' method for the Attachment model. + + - Record the file size of the uploaded attachment (if applicable) + - Ensure that the 'content_type' and 'object_id' fields are set + - Run extra validations + """ + # Either 'attachment' or 'link' must be specified! + if not self.attachment and not self.link: + raise ValidationError({ + 'attachment': _('Missing file'), + 'link': _('Missing external link'), + }) + + if self.attachment: + if self.attachment.name.lower().endswith('.svg'): + self.attachment.file.file = self.clean_svg(self.attachment) + else: + self.file_size = 0 + + super().save(*args, **kwargs) + + # Update file size + if self.file_size == 0 and self.attachment: + # Get file size + if default_storage.exists(self.attachment.name): + try: + self.file_size = default_storage.size(self.attachment.name) + except Exception: + pass + + if self.file_size != 0: + super().save() + + def clean_svg(self, field): + """Sanitize SVG file before saving.""" + cleaned = sanitize_svg(field.file.read()) + return BytesIO(bytes(cleaned, 'utf8')) + + def __str__(self): + """Human name for attachment.""" + if self.attachment is not None: + return os.path.basename(self.attachment.name) + return str(self.link) + + model_type = models.CharField( + max_length=100, + validators=[common.validators.validate_attachment_model_type], + help_text=_('Target model type for this image'), + ) + + model_id = models.PositiveIntegerField() + + attachment = models.FileField( + upload_to=rename_attachment, + verbose_name=_('Attachment'), + help_text=_('Select file to attach'), + blank=True, + null=True, + ) + + link = InvenTree.fields.InvenTreeURLField( + blank=True, + null=True, + verbose_name=_('Link'), + help_text=_('Link to external URL'), + ) + + comment = models.CharField( + blank=True, + max_length=250, + verbose_name=_('Comment'), + help_text=_('Attachment comment'), + ) + + upload_user = models.ForeignKey( + User, + on_delete=models.SET_NULL, + blank=True, + null=True, + verbose_name=_('User'), + help_text=_('User'), + ) + + upload_date = models.DateField( + auto_now_add=True, + null=True, + blank=True, + verbose_name=_('Upload date'), + help_text=_('Date the file was uploaded'), + ) + + file_size = models.PositiveIntegerField( + default=0, verbose_name=_('File size'), help_text=_('File size in bytes') + ) + + tags = TaggableManager(blank=True) + + @property + def basename(self): + """Base name/path for attachment.""" + if self.attachment: + return os.path.basename(self.attachment.name) + return None + + def fully_qualified_url(self): + """Return a 'fully qualified' URL for this attachment. + + - If the attachment is a link to an external resource, return the link + - If the attachment is an uploaded file, return the fully qualified media URL + """ + if self.link: + return self.link + + if self.attachment: + import InvenTree.helpers_model + + media_url = InvenTree.helpers.getMediaUrl(self.attachment.url) + return InvenTree.helpers_model.construct_absolute_url(media_url) + + return '' + + def check_permission(self, permission, user): + """Check if the user has the required permission for this attachment.""" + from InvenTree.models import InvenTreeAttachmentMixin + + model_class = common.validators.attachment_model_class_from_label( + self.model_type + ) + + if not issubclass(model_class, InvenTreeAttachmentMixin): + raise ValueError(_('Invalid model type specified for attachment')) + + return model_class.check_attachment_permission(permission, user) diff --git a/src/backend/InvenTree/common/serializers.py b/src/backend/InvenTree/common/serializers.py index c3539a7a61..0e0c7d1850 100644 --- a/src/backend/InvenTree/common/serializers.py +++ b/src/backend/InvenTree/common/serializers.py @@ -9,13 +9,18 @@ import django_q.models from error_report.models import Error from flags.state import flag_state from rest_framework import serializers +from rest_framework.exceptions import PermissionDenied +from taggit.serializers import TagListSerializerField import common.models as common_models +import common.validators from InvenTree.helpers import get_objectreference from InvenTree.helpers_model import construct_absolute_url from InvenTree.serializers import ( + InvenTreeAttachmentSerializerField, InvenTreeImageSerializerField, InvenTreeModelSerializer, + UserSerializer, ) from plugin import registry as plugin_registry from users.serializers import OwnerSerializer @@ -474,3 +479,85 @@ class FailedTaskSerializer(InvenTreeModelSerializer): pk = serializers.CharField(source='id', read_only=True) result = serializers.CharField() + + +class AttachmentSerializer(InvenTreeModelSerializer): + """Serializer class for the Attachment model.""" + + class Meta: + """Serializer metaclass.""" + + model = common_models.Attachment + fields = [ + 'pk', + 'attachment', + 'filename', + 'link', + 'comment', + 'upload_date', + 'upload_user', + 'user_detail', + 'file_size', + 'model_type', + 'model_id', + 'tags', + ] + + read_only_fields = ['pk', 'file_size', 'upload_date', 'upload_user', 'filename'] + + def __init__(self, *args, **kwargs): + """Override the model_type field to provide dynamic choices.""" + super().__init__(*args, **kwargs) + + if len(self.fields['model_type'].choices) == 0: + self.fields[ + 'model_type' + ].choices = common.validators.attachment_model_options() + + tags = TagListSerializerField(required=False) + + user_detail = UserSerializer(source='upload_user', read_only=True, many=False) + + attachment = InvenTreeAttachmentSerializerField(required=False, allow_null=True) + + # The 'filename' field must be present in the serializer + filename = serializers.CharField( + label=_('Filename'), required=False, source='basename', allow_blank=False + ) + + upload_date = serializers.DateField(read_only=True) + + # Note: The choices are overridden at run-time on class initialization + model_type = serializers.ChoiceField( + label=_('Model Type'), + choices=common.validators.attachment_model_options(), + required=True, + allow_blank=False, + allow_null=False, + ) + + def save(self): + """Override the save method to handle the model_type field.""" + from InvenTree.models import InvenTreeAttachmentMixin + + model_type = self.validated_data.get('model_type', None) + + # Ensure that the user has permission to attach files to the specified model + user = self.context.get('request').user + + target_model_class = common.validators.attachment_model_class_from_label( + model_type + ) + + if not issubclass(target_model_class, InvenTreeAttachmentMixin): + raise PermissionDenied(_('Invalid model type specified for attachment')) + + # Check that the user has the required permissions to attach files to the target model + if not target_model_class.check_attachment_permission('change', user): + raise PermissionDenied( + _( + 'User does not have permission to create or edit attachments for this model' + ) + ) + + return super().save() diff --git a/src/backend/InvenTree/common/settings.py b/src/backend/InvenTree/common/settings.py index d27ddfa2f4..6788b427e2 100644 --- a/src/backend/InvenTree/common/settings.py +++ b/src/backend/InvenTree/common/settings.py @@ -5,7 +5,8 @@ def get_global_setting(key, backup_value=None, **kwargs): """Return the value of a global setting using the provided key.""" from common.models import InvenTreeSetting - kwargs['backup_value'] = backup_value + if backup_value is not None: + kwargs['backup_value'] = backup_value return InvenTreeSetting.get_setting(key, **kwargs) @@ -25,7 +26,9 @@ def get_user_setting(key, user, backup_value=None, **kwargs): from common.models import InvenTreeUserSetting kwargs['user'] = user - kwargs['backup_value'] = backup_value + + if backup_value is not None: + kwargs['backup_value'] = backup_value return InvenTreeUserSetting.get_setting(key, **kwargs) diff --git a/src/backend/InvenTree/common/test_migrations.py b/src/backend/InvenTree/common/test_migrations.py new file mode 100644 index 0000000000..71d9449ed6 --- /dev/null +++ b/src/backend/InvenTree/common/test_migrations.py @@ -0,0 +1,210 @@ +"""Data migration unit tests for the 'common' app.""" + +import io + +from django.core.files.base import ContentFile + +from django_test_migrations.contrib.unittest_case import MigratorTestCase + +from InvenTree import unit_test + + +def get_legacy_models(): + """Return a set of legacy attachment models.""" + # Legacy attachment types to convert: + # app_label, table name, target model, model ref + return [ + ('build', 'BuildOrderAttachment', 'build', 'build'), + ('company', 'CompanyAttachment', 'company', 'company'), + ( + 'company', + 'ManufacturerPartAttachment', + 'manufacturerpart', + 'manufacturer_part', + ), + ('order', 'PurchaseOrderAttachment', 'purchaseorder', 'order'), + ('order', 'SalesOrderAttachment', 'salesorder', 'order'), + ('order', 'ReturnOrderAttachment', 'returnorder', 'order'), + ('part', 'PartAttachment', 'part', 'part'), + ('stock', 'StockItemAttachment', 'stockitem', 'stock_item'), + ] + + +def generate_attachment(): + """Generate a file attachment object for test upload.""" + file_object = io.StringIO('Some dummy data') + file_object.seek(0) + + return ContentFile(file_object.getvalue(), 'test.txt') + + +class TestForwardMigrations(MigratorTestCase): + """Test entire schema migration sequence for the common app.""" + + migrate_from = ('common', '0024_notesimage_model_id_notesimage_model_type') + migrate_to = ('common', unit_test.getNewestMigrationFile('common')) + + def prepare(self): + """Create initial data. + + Legacy attachment model types are: + - BuildOrderAttachment + - CompanyAttachment + - ManufacturerPartAttachment + - PurchaseOrderAttachment + - SalesOrderAttachment + - ReturnOrderAttachment + - PartAttachment + - StockItemAttachment + """ + # Dummy MPPT data + tree = {'tree_id': 0, 'level': 0, 'lft': 0, 'rght': 0} + + # BuildOrderAttachment + Part = self.old_state.apps.get_model('part', 'Part') + Build = self.old_state.apps.get_model('build', 'Build') + + part = Part.objects.create( + name='Test Part', + description='Test Part Description', + active=True, + assembly=True, + purchaseable=True, + **tree, + ) + + build = Build.objects.create(part=part, title='Test Build', quantity=10, **tree) + + PartAttachment = self.old_state.apps.get_model('part', 'PartAttachment') + PartAttachment.objects.create( + part=part, attachment=generate_attachment(), comment='Test file attachment' + ) + PartAttachment.objects.create( + part=part, link='http://example.com', comment='Test link attachment' + ) + self.assertEqual(PartAttachment.objects.count(), 2) + + BuildOrderAttachment = self.old_state.apps.get_model( + 'build', 'BuildOrderAttachment' + ) + BuildOrderAttachment.objects.create( + build=build, link='http://example.com', comment='Test comment' + ) + BuildOrderAttachment.objects.create( + build=build, attachment=generate_attachment(), comment='a test file' + ) + self.assertEqual(BuildOrderAttachment.objects.count(), 2) + + StockItem = self.old_state.apps.get_model('stock', 'StockItem') + StockItemAttachment = self.old_state.apps.get_model( + 'stock', 'StockItemAttachment' + ) + + item = StockItem.objects.create(part=part, quantity=10, **tree) + + StockItemAttachment.objects.create( + stock_item=item, + attachment=generate_attachment(), + comment='Test file attachment', + ) + StockItemAttachment.objects.create( + stock_item=item, link='http://example.com', comment='Test link attachment' + ) + self.assertEqual(StockItemAttachment.objects.count(), 2) + + Company = self.old_state.apps.get_model('company', 'Company') + CompanyAttachment = self.old_state.apps.get_model( + 'company', 'CompanyAttachment' + ) + + company = Company.objects.create( + name='Test Company', + description='Test Company Description', + is_customer=True, + is_manufacturer=True, + is_supplier=True, + ) + + CompanyAttachment.objects.create( + company=company, + attachment=generate_attachment(), + comment='Test file attachment', + ) + CompanyAttachment.objects.create( + company=company, link='http://example.com', comment='Test link attachment' + ) + self.assertEqual(CompanyAttachment.objects.count(), 2) + + PurchaseOrder = self.old_state.apps.get_model('order', 'PurchaseOrder') + PurchaseOrderAttachment = self.old_state.apps.get_model( + 'order', 'PurchaseOrderAttachment' + ) + + po = PurchaseOrder.objects.create( + reference='PO-12345', + supplier=company, + description='Test Purchase Order Description', + ) + + PurchaseOrderAttachment.objects.create( + order=po, attachment=generate_attachment(), comment='Test file attachment' + ) + PurchaseOrderAttachment.objects.create( + order=po, link='http://example.com', comment='Test link attachment' + ) + self.assertEqual(PurchaseOrderAttachment.objects.count(), 2) + + SalesOrder = self.old_state.apps.get_model('order', 'SalesOrder') + SalesOrderAttachment = self.old_state.apps.get_model( + 'order', 'SalesOrderAttachment' + ) + + so = SalesOrder.objects.create( + reference='SO-12345', + customer=company, + description='Test Sales Order Description', + ) + + SalesOrderAttachment.objects.create( + order=so, attachment=generate_attachment(), comment='Test file attachment' + ) + SalesOrderAttachment.objects.create( + order=so, link='http://example.com', comment='Test link attachment' + ) + self.assertEqual(SalesOrderAttachment.objects.count(), 2) + + ReturnOrder = self.old_state.apps.get_model('order', 'ReturnOrder') + ReturnOrderAttachment = self.old_state.apps.get_model( + 'order', 'ReturnOrderAttachment' + ) + + ro = ReturnOrder.objects.create( + reference='RO-12345', + customer=company, + description='Test Return Order Description', + ) + + ReturnOrderAttachment.objects.create( + order=ro, attachment=generate_attachment(), comment='Test file attachment' + ) + ReturnOrderAttachment.objects.create( + order=ro, link='http://example.com', comment='Test link attachment' + ) + self.assertEqual(ReturnOrderAttachment.objects.count(), 2) + + def test_items_exist(self): + """Test to ensure that the attachments are correctly migrated.""" + Attachment = self.new_state.apps.get_model('common', 'Attachment') + + self.assertEqual(Attachment.objects.count(), 14) + + for model in [ + 'build', + 'company', + 'purchaseorder', + 'returnorder', + 'salesorder', + 'part', + 'stockitem', + ]: + self.assertEqual(Attachment.objects.filter(model_type=model).count(), 2) diff --git a/src/backend/InvenTree/common/test_views.py b/src/backend/InvenTree/common/test_views.py deleted file mode 100644 index 0e43770f02..0000000000 --- a/src/backend/InvenTree/common/test_views.py +++ /dev/null @@ -1 +0,0 @@ -"""Unit tests for the views associated with the 'common' app.""" diff --git a/src/backend/InvenTree/common/tests.py b/src/backend/InvenTree/common/tests.py index fda28be67e..f936fddfb9 100644 --- a/src/backend/InvenTree/common/tests.py +++ b/src/backend/InvenTree/common/tests.py @@ -11,6 +11,8 @@ from django.contrib.auth import get_user_model from django.contrib.contenttypes.models import ContentType from django.core.cache import cache from django.core.exceptions import ValidationError +from django.core.files.base import ContentFile +from django.core.files.storage import default_storage from django.core.files.uploadedfile import SimpleUploadedFile from django.test import Client, TestCase from django.test.utils import override_settings @@ -21,11 +23,13 @@ import PIL from common.settings import get_global_setting, set_global_setting from InvenTree.helpers import str2bool from InvenTree.unit_test import InvenTreeAPITestCase, InvenTreeTestCase, PluginMixin +from part.models import Part from plugin import registry from plugin.models import NotificationUserSetting from .api import WebhookView from .models import ( + Attachment, ColorTheme, CustomUnit, InvenTreeSetting, @@ -41,6 +45,131 @@ from .models import ( CONTENT_TYPE_JSON = 'application/json' +class AttachmentTest(InvenTreeAPITestCase): + """Unit tests for the 'Attachment' model.""" + + fixtures = ['part', 'category', 'location'] + + def generate_file(self, fn: str): + """Generate an attachment file object.""" + file_object = io.StringIO('Some dummy data') + file_object.seek(0) + + return ContentFile(file_object.getvalue(), fn) + + def test_filename_validation(self): + """Test that the filename validation works as expected. + + The django file-upload mechanism should sanitize filenames correctly. + """ + part = Part.objects.first() + + filenames = { + 'test.txt': 'test.txt', + 'r####at.mp4': 'rat.mp4', + '../../../win32.dll': 'win32.dll', + 'ABC!@#$%^&&&&&&&)-XYZ-(**&&&\\/QqQ.sqlite': 'QqQ.sqlite', + '/var/log/inventree.log': 'inventree.log', + 'c:\\Users\\admin\\passwd.txt': 'cUsersadminpasswd.txt', + '8&&&8.txt': '88.txt', + } + + for fn, expected in filenames.items(): + attachment = Attachment.objects.create( + attachment=self.generate_file(fn), + comment=f'Testing filename: {fn}', + model_type='part', + model_id=part.pk, + ) + + expected_path = f'attachments/part/{part.pk}/{expected}' + self.assertEqual(attachment.attachment.name, expected_path) + self.assertEqual(attachment.file_size, 15) + + self.assertEqual(part.attachments.count(), len(filenames.keys())) + + # Delete any attachments after the test is completed + for attachment in part.attachments.all(): + path = attachment.attachment.name + attachment.delete() + + # Remove uploaded files to prevent them sticking around + if default_storage.exists(path): + default_storage.delete(path) + + self.assertEqual( + Attachment.objects.filter(model_type='part', model_id=part.pk).count(), 0 + ) + + def test_mixin(self): + """Test that the mixin class works as expected.""" + part = Part.objects.first() + + self.assertEqual(part.attachments.count(), 0) + + part.create_attachment( + attachment=self.generate_file('test.txt'), comment='Hello world' + ) + + self.assertEqual(part.attachments.count(), 1) + + attachment = part.attachments.first() + + self.assertEqual(attachment.comment, 'Hello world') + self.assertIn(f'attachments/part/{part.pk}/test', attachment.attachment.name) + + def test_upload_via_api(self): + """Test that we can upload attachments via the API.""" + part = Part.objects.first() + url = reverse('api-attachment-list') + + data = { + 'model_type': 'part', + 'model_id': part.pk, + 'link': 'https://www.google.com', + 'comment': 'Some appropriate comment', + } + + # Start without appropriate permissions + # User must have 'part.change' to upload an attachment against a Part instance + self.logout() + self.user.is_staff = False + self.user.is_superuser = False + self.user.save() + self.clearRoles() + + # Check without login (401) + response = self.post(url, data, expected_code=401) + + self.login() + + response = self.post(url, data, expected_code=403) + + self.assertIn( + 'User does not have permission to create or edit attachments for this model', + str(response.data['detail']), + ) + + # Add the required permission + self.assignRole('part.change') + + # Upload should now work! + response = self.post(url, data, expected_code=201) + + # Try to delete the attachment via API (should fail) + attachment = part.attachments.first() + url = reverse('api-attachment-detail', kwargs={'pk': attachment.pk}) + response = self.delete(url, expected_code=403) + self.assertIn( + 'User does not have permission to delete this attachment', + str(response.data['detail']), + ) + + # Assign 'delete' permission to 'part' model + self.assignRole('part.delete') + response = self.delete(url, expected_code=204) + + class SettingsTest(InvenTreeTestCase): """Tests for the 'settings' model.""" diff --git a/src/backend/InvenTree/common/validators.py b/src/backend/InvenTree/common/validators.py index d97983f5a3..5edd4a0f9a 100644 --- a/src/backend/InvenTree/common/validators.py +++ b/src/backend/InvenTree/common/validators.py @@ -8,6 +8,41 @@ from django.utils.translation import gettext_lazy as _ from common.settings import get_global_setting +def attachment_model_types(): + """Return a list of valid attachment model choices.""" + import InvenTree.models + + return list( + InvenTree.helpers_model.getModelsWithMixin( + InvenTree.models.InvenTreeAttachmentMixin + ) + ) + + +def attachment_model_options(): + """Return a list of options for models which support attachments.""" + return [ + (model.__name__.lower(), model._meta.verbose_name) + for model in attachment_model_types() + ] + + +def attachment_model_class_from_label(label: str): + """Return the model class for the given label.""" + for model in attachment_model_types(): + if model.__name__.lower() == label.lower(): + return model + + raise ValueError(f'Invalid attachment model label: {label}') + + +def validate_attachment_model_type(value): + """Ensure that the provided attachment model is valid.""" + model_names = [el[0] for el in attachment_model_options()] + if value not in model_names: + raise ValidationError(f'Model type does not support attachments') + + def validate_notes_model_type(value): """Ensure that the provided model type is valid. diff --git a/src/backend/InvenTree/company/admin.py b/src/backend/InvenTree/company/admin.py index 7caf7f3b16..93ad536b91 100644 --- a/src/backend/InvenTree/company/admin.py +++ b/src/backend/InvenTree/company/admin.py @@ -14,7 +14,6 @@ from .models import ( Company, Contact, ManufacturerPart, - ManufacturerPartAttachment, ManufacturerPartParameter, SupplierPart, SupplierPriceBreak, @@ -120,15 +119,6 @@ class ManufacturerPartAdmin(ImportExportModelAdmin): autocomplete_fields = ('part', 'manufacturer') -@admin.register(ManufacturerPartAttachment) -class ManufacturerPartAttachmentAdmin(ImportExportModelAdmin): - """Admin class for ManufacturerPartAttachment model.""" - - list_display = ('manufacturer_part', 'attachment', 'comment') - - autocomplete_fields = ('manufacturer_part',) - - class ManufacturerPartParameterResource(InvenTreeResource): """Class for managing ManufacturerPartParameter data import/export.""" diff --git a/src/backend/InvenTree/company/api.py b/src/backend/InvenTree/company/api.py index aea8d5dc5e..de5118d805 100644 --- a/src/backend/InvenTree/company/api.py +++ b/src/backend/InvenTree/company/api.py @@ -7,7 +7,7 @@ from django.utils.translation import gettext_lazy as _ from django_filters import rest_framework as rest_filters import part.models -from InvenTree.api import AttachmentMixin, ListCreateDestroyAPIView, MetadataView +from InvenTree.api import ListCreateDestroyAPIView, MetadataView from InvenTree.filters import ( ORDER_FILTER, SEARCH_ORDER_FILTER, @@ -19,20 +19,16 @@ from InvenTree.mixins import ListCreateAPI, RetrieveUpdateDestroyAPI from .models import ( Address, Company, - CompanyAttachment, Contact, ManufacturerPart, - ManufacturerPartAttachment, ManufacturerPartParameter, SupplierPart, SupplierPriceBreak, ) from .serializers import ( AddressSerializer, - CompanyAttachmentSerializer, CompanySerializer, ContactSerializer, - ManufacturerPartAttachmentSerializer, ManufacturerPartParameterSerializer, ManufacturerPartSerializer, SupplierPartSerializer, @@ -88,22 +84,6 @@ class CompanyDetail(RetrieveUpdateDestroyAPI): return queryset -class CompanyAttachmentList(AttachmentMixin, ListCreateDestroyAPIView): - """API endpoint for listing, creating and bulk deleting a CompanyAttachment.""" - - queryset = CompanyAttachment.objects.all() - serializer_class = CompanyAttachmentSerializer - - filterset_fields = ['company'] - - -class CompanyAttachmentDetail(AttachmentMixin, RetrieveUpdateDestroyAPI): - """Detail endpoint for CompanyAttachment model.""" - - queryset = CompanyAttachment.objects.all() - serializer_class = CompanyAttachmentSerializer - - class ContactList(ListCreateDestroyAPIView): """API endpoint for list view of Company model.""" @@ -227,22 +207,6 @@ class ManufacturerPartDetail(RetrieveUpdateDestroyAPI): serializer_class = ManufacturerPartSerializer -class ManufacturerPartAttachmentList(AttachmentMixin, ListCreateDestroyAPIView): - """API endpoint for listing, creating and bulk deleting a ManufacturerPartAttachment (file upload).""" - - queryset = ManufacturerPartAttachment.objects.all() - serializer_class = ManufacturerPartAttachmentSerializer - - filterset_fields = ['manufacturer_part'] - - -class ManufacturerPartAttachmentDetail(AttachmentMixin, RetrieveUpdateDestroyAPI): - """Detail endpooint for ManufacturerPartAttachment model.""" - - queryset = ManufacturerPartAttachment.objects.all() - serializer_class = ManufacturerPartAttachmentSerializer - - class ManufacturerPartParameterFilter(rest_filters.FilterSet): """Custom filterset for the ManufacturerPartParameterList API endpoint.""" @@ -509,22 +473,6 @@ class SupplierPriceBreakDetail(RetrieveUpdateDestroyAPI): manufacturer_part_api_urls = [ - # Base URL for ManufacturerPartAttachment API endpoints - path( - 'attachment/', - include([ - path( - '/', - ManufacturerPartAttachmentDetail.as_view(), - name='api-manufacturer-part-attachment-detail', - ), - path( - '', - ManufacturerPartAttachmentList.as_view(), - name='api-manufacturer-part-attachment-list', - ), - ]), - ), path( 'parameter/', include([ @@ -611,19 +559,6 @@ company_api_urls = [ path('', CompanyDetail.as_view(), name='api-company-detail'), ]), ), - path( - 'attachment/', - include([ - path( - '/', - CompanyAttachmentDetail.as_view(), - name='api-company-attachment-detail', - ), - path( - '', CompanyAttachmentList.as_view(), name='api-company-attachment-list' - ), - ]), - ), path( 'contact/', include([ diff --git a/src/backend/InvenTree/company/migrations/0001_initial.py b/src/backend/InvenTree/company/migrations/0001_initial.py index c2de9ed453..cfc73bea20 100644 --- a/src/backend/InvenTree/company/migrations/0001_initial.py +++ b/src/backend/InvenTree/company/migrations/0001_initial.py @@ -31,6 +31,9 @@ class Migration(migrations.Migration): ('is_customer', models.BooleanField(default=False, help_text='Do you sell items to this company?')), ('is_supplier', models.BooleanField(default=True, help_text='Do you purchase items from this company?')), ], + options={ + 'verbose_name': 'Company', + } ), migrations.CreateModel( name='Contact', @@ -60,6 +63,7 @@ class Migration(migrations.Migration): ], options={ 'db_table': 'part_supplierpart', + 'verbose_name': 'Supplier Part', }, ), migrations.CreateModel( diff --git a/src/backend/InvenTree/company/migrations/0023_auto_20200808_0715.py b/src/backend/InvenTree/company/migrations/0023_auto_20200808_0715.py index 22097e8e2b..d184108c9f 100644 --- a/src/backend/InvenTree/company/migrations/0023_auto_20200808_0715.py +++ b/src/backend/InvenTree/company/migrations/0023_auto_20200808_0715.py @@ -12,6 +12,6 @@ class Migration(migrations.Migration): operations = [ migrations.AlterModelOptions( name='company', - options={'ordering': ['name']}, + options={'ordering': ['name'], 'verbose_name': 'Company'}, ), ] diff --git a/src/backend/InvenTree/company/migrations/0034_manufacturerpart.py b/src/backend/InvenTree/company/migrations/0034_manufacturerpart.py index 2e8a8bf82f..f50919d59f 100644 --- a/src/backend/InvenTree/company/migrations/0034_manufacturerpart.py +++ b/src/backend/InvenTree/company/migrations/0034_manufacturerpart.py @@ -22,6 +22,7 @@ class Migration(migrations.Migration): ], options={ 'unique_together': {('part', 'manufacturer', 'MPN')}, + 'verbose_name': 'Manufacturer Part', }, ), ] diff --git a/src/backend/InvenTree/company/migrations/0041_alter_company_options.py b/src/backend/InvenTree/company/migrations/0041_alter_company_options.py index 40849eed1d..e6b1bed978 100644 --- a/src/backend/InvenTree/company/migrations/0041_alter_company_options.py +++ b/src/backend/InvenTree/company/migrations/0041_alter_company_options.py @@ -12,6 +12,6 @@ class Migration(migrations.Migration): operations = [ migrations.AlterModelOptions( name='company', - options={'ordering': ['name'], 'verbose_name_plural': 'Companies'}, + options={'ordering': ['name'], 'verbose_name': 'Company', 'verbose_name_plural': 'Companies'}, ), ] diff --git a/src/backend/InvenTree/company/migrations/0043_manufacturerpartattachment.py b/src/backend/InvenTree/company/migrations/0043_manufacturerpartattachment.py index fe526992b0..a0152385eb 100644 --- a/src/backend/InvenTree/company/migrations/0043_manufacturerpartattachment.py +++ b/src/backend/InvenTree/company/migrations/0043_manufacturerpartattachment.py @@ -19,7 +19,7 @@ class Migration(migrations.Migration): name='ManufacturerPartAttachment', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('attachment', models.FileField(blank=True, help_text='Select file to attach', null=True, upload_to=InvenTree.models.rename_attachment, verbose_name='Attachment')), + ('attachment', models.FileField(blank=True, help_text='Select file to attach', null=True, upload_to='attachments', verbose_name='Attachment')), ('link', InvenTree.fields.InvenTreeURLField(blank=True, help_text='Link to external URL', null=True, verbose_name='Link')), ('comment', models.CharField(blank=True, help_text='File comment', max_length=100, verbose_name='Comment')), ('upload_date', models.DateField(auto_now_add=True, null=True, verbose_name='upload date')), diff --git a/src/backend/InvenTree/company/migrations/0054_companyattachment.py b/src/backend/InvenTree/company/migrations/0054_companyattachment.py index 44a415fce3..4996976ac1 100644 --- a/src/backend/InvenTree/company/migrations/0054_companyattachment.py +++ b/src/backend/InvenTree/company/migrations/0054_companyattachment.py @@ -19,7 +19,7 @@ class Migration(migrations.Migration): name='CompanyAttachment', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('attachment', models.FileField(blank=True, help_text='Select file to attach', null=True, upload_to=InvenTree.models.rename_attachment, verbose_name='Attachment')), + ('attachment', models.FileField(blank=True, help_text='Select file to attach', null=True, upload_to='attachments', verbose_name='Attachment')), ('link', InvenTree.fields.InvenTreeURLField(blank=True, help_text='Link to external URL', null=True, verbose_name='Link')), ('comment', models.CharField(blank=True, help_text='File comment', max_length=100, verbose_name='Comment')), ('upload_date', models.DateField(auto_now_add=True, null=True, verbose_name='upload date')), diff --git a/src/backend/InvenTree/company/migrations/0070_remove_manufacturerpartattachment_manufacturer_part_and_more.py b/src/backend/InvenTree/company/migrations/0070_remove_manufacturerpartattachment_manufacturer_part_and_more.py new file mode 100644 index 0000000000..d0bec93f7d --- /dev/null +++ b/src/backend/InvenTree/company/migrations/0070_remove_manufacturerpartattachment_manufacturer_part_and_more.py @@ -0,0 +1,24 @@ +# Generated by Django 4.2.12 on 2024-06-09 09:02 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('build', '0050_auto_20240508_0138'), + ('common', '0026_auto_20240608_1238'), + ('company', '0069_company_active'), + ('order', '0099_alter_salesorder_status'), + ('part', '0123_parttesttemplate_choices'), + ('stock', '0110_alter_stockitemtestresult_finished_datetime_and_more') + ] + + operations = [ + migrations.DeleteModel( + name='CompanyAttachment', + ), + migrations.DeleteModel( + name='ManufacturerPartAttachment', + ), + ] diff --git a/src/backend/InvenTree/company/models.py b/src/backend/InvenTree/company/models.py index 30b2dc5789..8683be248e 100644 --- a/src/backend/InvenTree/company/models.py +++ b/src/backend/InvenTree/company/models.py @@ -60,7 +60,9 @@ def rename_company_image(instance, filename): class Company( - InvenTree.models.InvenTreeNotesMixin, InvenTree.models.InvenTreeMetadataModel + InvenTree.models.InvenTreeAttachmentMixin, + InvenTree.models.InvenTreeNotesMixin, + InvenTree.models.InvenTreeMetadataModel, ): """A Company object represents an external company. @@ -95,7 +97,8 @@ class Company( constraints = [ UniqueConstraint(fields=['name', 'email'], name='unique_name_email_pair') ] - verbose_name_plural = 'Companies' + verbose_name = _('Company') + verbose_name_plural = _('Companies') @staticmethod def get_api_url(): @@ -255,26 +258,6 @@ class Company( ).distinct() -class CompanyAttachment(InvenTree.models.InvenTreeAttachment): - """Model for storing file or URL attachments against a Company object.""" - - @staticmethod - def get_api_url(): - """Return the API URL associated with this model.""" - return reverse('api-company-attachment-list') - - def getSubdir(self): - """Return the subdirectory where these attachments are uploaded.""" - return os.path.join('company_files', str(self.company.pk)) - - company = models.ForeignKey( - Company, - on_delete=models.CASCADE, - verbose_name=_('Company'), - related_name='attachments', - ) - - class Contact(InvenTree.models.InvenTreeMetadataModel): """A Contact represents a person who works at a particular company. A Company may have zero or more associated Contact objects. @@ -460,7 +443,9 @@ class Address(InvenTree.models.InvenTreeModel): class ManufacturerPart( - InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models.InvenTreeMetadataModel + InvenTree.models.InvenTreeAttachmentMixin, + InvenTree.models.InvenTreeBarcodeMixin, + InvenTree.models.InvenTreeMetadataModel, ): """Represents a unique part as provided by a Manufacturer Each ManufacturerPart is identified by a MPN (Manufacturer Part Number) Each ManufacturerPart is also linked to a Part object. A Part may be available from multiple manufacturers. @@ -475,6 +460,7 @@ class ManufacturerPart( class Meta: """Metaclass defines extra model options.""" + verbose_name = _('Manufacturer Part') unique_together = ('part', 'manufacturer', 'MPN') @staticmethod @@ -563,26 +549,6 @@ class ManufacturerPart( return s -class ManufacturerPartAttachment(InvenTree.models.InvenTreeAttachment): - """Model for storing file attachments against a ManufacturerPart object.""" - - @staticmethod - def get_api_url(): - """Return the API URL associated with the ManufacturerPartAttachment model.""" - return reverse('api-manufacturer-part-attachment-list') - - def getSubdir(self): - """Return the subdirectory where attachment files for the ManufacturerPart model are located.""" - return os.path.join('manufacturer_part_files', str(self.manufacturer_part.id)) - - manufacturer_part = models.ForeignKey( - ManufacturerPart, - on_delete=models.CASCADE, - verbose_name=_('Manufacturer Part'), - related_name='attachments', - ) - - class ManufacturerPartParameter(InvenTree.models.InvenTreeModel): """A ManufacturerPartParameter represents a key:value parameter for a MnaufacturerPart. @@ -679,6 +645,8 @@ class SupplierPart( unique_together = ('part', 'supplier', 'SKU') + verbose_name = _('Supplier Part') + # This model was moved from the 'Part' app db_table = 'part_supplierpart' diff --git a/src/backend/InvenTree/company/serializers.py b/src/backend/InvenTree/company/serializers.py index c0425c68db..453ff21b42 100644 --- a/src/backend/InvenTree/company/serializers.py +++ b/src/backend/InvenTree/company/serializers.py @@ -11,7 +11,6 @@ from taggit.serializers import TagListSerializerField import part.filters from InvenTree.serializers import ( - InvenTreeAttachmentSerializer, InvenTreeCurrencySerializer, InvenTreeDecimalField, InvenTreeImageSerializerField, @@ -26,10 +25,8 @@ from part.serializers import PartBriefSerializer from .models import ( Address, Company, - CompanyAttachment, Contact, ManufacturerPart, - ManufacturerPartAttachment, ManufacturerPartParameter, SupplierPart, SupplierPriceBreak, @@ -186,17 +183,6 @@ class CompanySerializer(NotesFieldMixin, RemoteImageMixin, InvenTreeModelSeriali return self.instance -class CompanyAttachmentSerializer(InvenTreeAttachmentSerializer): - """Serializer for the CompanyAttachment class.""" - - class Meta: - """Metaclass defines serializer options.""" - - model = CompanyAttachment - - fields = InvenTreeAttachmentSerializer.attachment_fields(['company']) - - class ContactSerializer(InvenTreeModelSerializer): """Serializer class for the Contact model.""" @@ -260,17 +246,6 @@ class ManufacturerPartSerializer(InvenTreeTagModelSerializer): ) -class ManufacturerPartAttachmentSerializer(InvenTreeAttachmentSerializer): - """Serializer for the ManufacturerPartAttachment class.""" - - class Meta: - """Metaclass options.""" - - model = ManufacturerPartAttachment - - fields = InvenTreeAttachmentSerializer.attachment_fields(['manufacturer_part']) - - class ManufacturerPartParameterSerializer(InvenTreeModelSerializer): """Serializer for the ManufacturerPartParameter model.""" diff --git a/src/backend/InvenTree/company/templates/company/detail.html b/src/backend/InvenTree/company/templates/company/detail.html index afc6a813ea..d9fbf521e7 100644 --- a/src/backend/InvenTree/company/templates/company/detail.html +++ b/src/backend/InvenTree/company/templates/company/detail.html @@ -244,17 +244,7 @@ {{ block.super }} onPanelLoad("attachments", function() { - loadAttachmentTable('{% url "api-company-attachment-list" %}', { - filters: { - company: {{ company.pk }}, - }, - fields: { - company: { - value: {{ company.pk }}, - hidden: true - } - } - }); + loadAttachmentTable('company', {{ company.pk }}); }); // Callback function when the 'contacts' panel is loaded diff --git a/src/backend/InvenTree/company/templates/company/manufacturer_part.html b/src/backend/InvenTree/company/templates/company/manufacturer_part.html index 08e6f38568..a4676a9086 100644 --- a/src/backend/InvenTree/company/templates/company/manufacturer_part.html +++ b/src/backend/InvenTree/company/templates/company/manufacturer_part.html @@ -177,17 +177,7 @@ src="{% static 'img/blank_image.png' %}" {{ block.super }} onPanelLoad("attachments", function() { - loadAttachmentTable('{% url "api-manufacturer-part-attachment-list" %}', { - filters: { - manufacturer_part: {{ part.pk }}, - }, - fields: { - manufacturer_part: { - value: {{ part.pk }}, - hidden: true - } - } - }); + loadAttachmentTable('manufacturerpart', {{ part.pk }}); }); $('#parameter-create').click(function() { diff --git a/src/backend/InvenTree/company/test_migrations.py b/src/backend/InvenTree/company/test_migrations.py index bb5b6f27f9..305eaf6031 100644 --- a/src/backend/InvenTree/company/test_migrations.py +++ b/src/backend/InvenTree/company/test_migrations.py @@ -45,14 +45,7 @@ class TestManufacturerField(MigratorTestCase): SupplierPart = self.old_state.apps.get_model('company', 'supplierpart') # Create an initial part - part = Part.objects.create( - name='Screw', - description='A single screw', - level=0, - tree_id=0, - lft=0, - rght=0, - ) + part = Part.objects.create(name='Screw', description='A single screw') # Create a company to act as the supplier supplier = Company.objects.create( diff --git a/src/backend/InvenTree/order/api.py b/src/backend/InvenTree/order/api.py index b2dd13483b..2cd8e59351 100644 --- a/src/backend/InvenTree/order/api.py +++ b/src/backend/InvenTree/order/api.py @@ -17,15 +17,11 @@ from rest_framework import status from rest_framework.exceptions import ValidationError from rest_framework.response import Response -import common.models as common_models -from company.models import SupplierPart +import common.models +import common.settings +import company.models from generic.states.api import StatusView -from InvenTree.api import ( - APIDownloadMixin, - AttachmentMixin, - ListCreateDestroyAPIView, - MetadataView, -) +from InvenTree.api import APIDownloadMixin, ListCreateDestroyAPIView, MetadataView from InvenTree.filters import SEARCH_ORDER_FILTER, SEARCH_ORDER_FILTER_ALIAS from InvenTree.helpers import DownloadFile, str2bool from InvenTree.helpers_model import construct_absolute_url, get_base_url @@ -135,7 +131,7 @@ class OrderFilter(rest_filters.FilterSet): return queryset.exclude(status__in=self.Meta.model.get_status_class().OPEN) project_code = rest_filters.ModelChoiceFilter( - queryset=common_models.ProjectCode.objects.all(), field_name='project_code' + queryset=common.models.ProjectCode.objects.all(), field_name='project_code' ) has_project_code = rest_filters.BooleanFilter( @@ -306,11 +302,13 @@ class PurchaseOrderList(PurchaseOrderMixin, APIDownloadMixin, ListCreateAPI): if supplier_part is not None: try: - supplier_part = SupplierPart.objects.get(pk=supplier_part) + supplier_part = company.models.SupplierPart.objects.get( + pk=supplier_part + ) queryset = queryset.filter( id__in=[p.id for p in supplier_part.purchase_orders()] ) - except (ValueError, SupplierPart.DoesNotExist): + except (ValueError, company.models.SupplierPart.DoesNotExist): pass # Filter by 'date range' @@ -449,7 +447,9 @@ class PurchaseOrderLineItemFilter(LineItemFilter): return queryset.exclude(order__status=PurchaseOrderStatus.COMPLETE.value) part = rest_filters.ModelChoiceFilter( - queryset=SupplierPart.objects.all(), field_name='part', label=_('Supplier Part') + queryset=company.models.SupplierPart.objects.all(), + field_name='part', + label=_('Supplier Part'), ) base_part = rest_filters.ModelChoiceFilter( @@ -648,22 +648,6 @@ class PurchaseOrderExtraLineDetail(RetrieveUpdateDestroyAPI): serializer_class = serializers.PurchaseOrderExtraLineSerializer -class SalesOrderAttachmentList(AttachmentMixin, ListCreateDestroyAPIView): - """API endpoint for listing, creating and bulk deleting a SalesOrderAttachment (file upload).""" - - queryset = models.SalesOrderAttachment.objects.all() - serializer_class = serializers.SalesOrderAttachmentSerializer - - filterset_fields = ['order'] - - -class SalesOrderAttachmentDetail(AttachmentMixin, RetrieveUpdateDestroyAPI): - """Detail endpoint for SalesOrderAttachment.""" - - queryset = models.SalesOrderAttachment.objects.all() - serializer_class = serializers.SalesOrderAttachmentSerializer - - class SalesOrderFilter(OrderFilter): """Custom API filters for the SalesOrderList endpoint.""" @@ -1150,22 +1134,6 @@ class SalesOrderShipmentComplete(CreateAPI): return ctx -class PurchaseOrderAttachmentList(AttachmentMixin, ListCreateDestroyAPIView): - """API endpoint for listing, creating and bulk deleting) a PurchaseOrderAttachment (file upload).""" - - queryset = models.PurchaseOrderAttachment.objects.all() - serializer_class = serializers.PurchaseOrderAttachmentSerializer - - filterset_fields = ['order'] - - -class PurchaseOrderAttachmentDetail(AttachmentMixin, RetrieveUpdateDestroyAPI): - """Detail endpoint for a PurchaseOrderAttachment.""" - - queryset = models.PurchaseOrderAttachment.objects.all() - serializer_class = serializers.PurchaseOrderAttachmentSerializer - - class ReturnOrderFilter(OrderFilter): """Custom API filters for the ReturnOrderList endpoint.""" @@ -1416,22 +1384,6 @@ class ReturnOrderExtraLineDetail(RetrieveUpdateDestroyAPI): serializer_class = serializers.ReturnOrderExtraLineSerializer -class ReturnOrderAttachmentList(AttachmentMixin, ListCreateDestroyAPIView): - """API endpoint for listing, creating and bulk deleting a ReturnOrderAttachment (file upload).""" - - queryset = models.ReturnOrderAttachment.objects.all() - serializer_class = serializers.ReturnOrderAttachmentSerializer - - filterset_fields = ['order'] - - -class ReturnOrderAttachmentDetail(AttachmentMixin, RetrieveUpdateDestroyAPI): - """Detail endpoint for the ReturnOrderAttachment model.""" - - queryset = models.ReturnOrderAttachment.objects.all() - serializer_class = serializers.ReturnOrderAttachmentSerializer - - class OrderCalendarExport(ICalFeed): """Calendar export for Purchase/Sales Orders. @@ -1514,7 +1466,9 @@ class OrderCalendarExport(ICalFeed): else: ordertype_title = _('Unknown') - return f'{common_models.InvenTreeSetting.get_setting("INVENTREE_COMPANY_NAME")} {ordertype_title}' + company_name = common.settings.get_global_setting('INVENTREE_COMPANY_NAME') + + return f'{company_name} {ordertype_title}' def product_id(self, obj): """Return calendar product id.""" @@ -1597,22 +1551,6 @@ order_api_urls = [ path( 'po/', include([ - # Purchase order attachments - path( - 'attachment/', - include([ - path( - '/', - PurchaseOrderAttachmentDetail.as_view(), - name='api-po-attachment-detail', - ), - path( - '', - PurchaseOrderAttachmentList.as_view(), - name='api-po-attachment-list', - ), - ]), - ), # Individual purchase order detail URLs path( '/', @@ -1704,21 +1642,6 @@ order_api_urls = [ path( 'so/', include([ - path( - 'attachment/', - include([ - path( - '/', - SalesOrderAttachmentDetail.as_view(), - name='api-so-attachment-detail', - ), - path( - '', - SalesOrderAttachmentList.as_view(), - name='api-so-attachment-list', - ), - ]), - ), path( 'shipment/', include([ @@ -1854,21 +1777,6 @@ order_api_urls = [ path( 'ro/', include([ - path( - 'attachment/', - include([ - path( - '/', - ReturnOrderAttachmentDetail.as_view(), - name='api-return-order-attachment-detail', - ), - path( - '', - ReturnOrderAttachmentList.as_view(), - name='api-return-order-attachment-list', - ), - ]), - ), # Return Order detail endpoints path( '/', diff --git a/src/backend/InvenTree/order/migrations/0016_purchaseorderattachment.py b/src/backend/InvenTree/order/migrations/0016_purchaseorderattachment.py index 25b43e222d..750642f6f9 100644 --- a/src/backend/InvenTree/order/migrations/0016_purchaseorderattachment.py +++ b/src/backend/InvenTree/order/migrations/0016_purchaseorderattachment.py @@ -16,7 +16,7 @@ class Migration(migrations.Migration): name='PurchaseOrderAttachment', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('attachment', models.FileField(help_text='Select file to attach', upload_to=InvenTree.models.rename_attachment)), + ('attachment', models.FileField(help_text='Select file to attach', upload_to='attachments')), ('comment', models.CharField(help_text='File comment', max_length=100)), ('order', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='attachments', to='order.PurchaseOrder')), ], diff --git a/src/backend/InvenTree/order/migrations/0020_auto_20200420_0940.py b/src/backend/InvenTree/order/migrations/0020_auto_20200420_0940.py index 76e903b45a..44d1401438 100644 --- a/src/backend/InvenTree/order/migrations/0020_auto_20200420_0940.py +++ b/src/backend/InvenTree/order/migrations/0020_auto_20200420_0940.py @@ -65,7 +65,7 @@ class Migration(migrations.Migration): name='SalesOrderAttachment', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('attachment', models.FileField(help_text='Select file to attach', upload_to=InvenTree.models.rename_attachment)), + ('attachment', models.FileField(help_text='Select file to attach', upload_to='attachments')), ('comment', models.CharField(help_text='File comment', max_length=100)), ('order', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='attachments', to='order.SalesOrder')), ], diff --git a/src/backend/InvenTree/order/migrations/0044_auto_20210404_2016.py b/src/backend/InvenTree/order/migrations/0044_auto_20210404_2016.py index ef69235545..d97c9accc1 100644 --- a/src/backend/InvenTree/order/migrations/0044_auto_20210404_2016.py +++ b/src/backend/InvenTree/order/migrations/0044_auto_20210404_2016.py @@ -67,7 +67,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='purchaseorderattachment', name='attachment', - field=models.FileField(help_text='Select file to attach', upload_to=InvenTree.models.rename_attachment, verbose_name='Attachment'), + field=models.FileField(help_text='Select file to attach', upload_to='attachments', verbose_name='Attachment'), ), migrations.AlterField( model_name='purchaseorderattachment', @@ -187,7 +187,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='salesorderattachment', name='attachment', - field=models.FileField(help_text='Select file to attach', upload_to=InvenTree.models.rename_attachment, verbose_name='Attachment'), + field=models.FileField(help_text='Select file to attach', upload_to='attachments', verbose_name='Attachment'), ), migrations.AlterField( model_name='salesorderattachment', diff --git a/src/backend/InvenTree/order/migrations/0053_auto_20211128_0151.py b/src/backend/InvenTree/order/migrations/0053_auto_20211128_0151.py index bbe029b4af..a4e0ec30a0 100644 --- a/src/backend/InvenTree/order/migrations/0053_auto_20211128_0151.py +++ b/src/backend/InvenTree/order/migrations/0053_auto_20211128_0151.py @@ -25,11 +25,11 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='purchaseorderattachment', name='attachment', - field=models.FileField(blank=True, help_text='Select file to attach', null=True, upload_to=InvenTree.models.rename_attachment, verbose_name='Attachment'), + field=models.FileField(blank=True, help_text='Select file to attach', null=True, upload_to='attachments', verbose_name='Attachment'), ), migrations.AlterField( model_name='salesorderattachment', name='attachment', - field=models.FileField(blank=True, help_text='Select file to attach', null=True, upload_to=InvenTree.models.rename_attachment, verbose_name='Attachment'), + field=models.FileField(blank=True, help_text='Select file to attach', null=True, upload_to='attachments', verbose_name='Attachment'), ), ] diff --git a/src/backend/InvenTree/order/migrations/0081_auto_20230314_0725.py b/src/backend/InvenTree/order/migrations/0081_auto_20230314_0725.py index f15b800ffe..ed815aa5a9 100644 --- a/src/backend/InvenTree/order/migrations/0081_auto_20230314_0725.py +++ b/src/backend/InvenTree/order/migrations/0081_auto_20230314_0725.py @@ -51,7 +51,7 @@ class Migration(migrations.Migration): name='ReturnOrderAttachment', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('attachment', models.FileField(blank=True, help_text='Select file to attach', null=True, upload_to=InvenTree.models.rename_attachment, verbose_name='Attachment')), + ('attachment', models.FileField(blank=True, help_text='Select file to attach', null=True, upload_to='attachments', verbose_name='Attachment')), ('link', InvenTree.fields.InvenTreeURLField(blank=True, help_text='Link to external URL', null=True, verbose_name='Link')), ('comment', models.CharField(blank=True, help_text='File comment', max_length=100, verbose_name='Comment')), ('upload_date', models.DateField(auto_now_add=True, null=True, verbose_name='upload date')), diff --git a/src/backend/InvenTree/order/migrations/0100_remove_returnorderattachment_order_and_more.py b/src/backend/InvenTree/order/migrations/0100_remove_returnorderattachment_order_and_more.py new file mode 100644 index 0000000000..01e5679ebd --- /dev/null +++ b/src/backend/InvenTree/order/migrations/0100_remove_returnorderattachment_order_and_more.py @@ -0,0 +1,27 @@ +# Generated by Django 4.2.12 on 2024-06-09 09:02 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('build', '0050_auto_20240508_0138'), + ('common', '0026_auto_20240608_1238'), + ('company', '0069_company_active'), + ('order', '0099_alter_salesorder_status'), + ('part', '0123_parttesttemplate_choices'), + ('stock', '0110_alter_stockitemtestresult_finished_datetime_and_more') + ] + + operations = [ + migrations.DeleteModel( + name='PurchaseOrderAttachment', + ), + migrations.DeleteModel( + name='ReturnOrderAttachment', + ), + migrations.DeleteModel( + name='SalesOrderAttachment', + ), + ] diff --git a/src/backend/InvenTree/order/models.py b/src/backend/InvenTree/order/models.py index 8fb2c8449c..077dd94bda 100644 --- a/src/backend/InvenTree/order/models.py +++ b/src/backend/InvenTree/order/models.py @@ -184,6 +184,7 @@ class TotalPriceMixin(models.Model): class Order( StateTransitionMixin, + InvenTree.models.InvenTreeAttachmentMixin, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models.InvenTreeNotesMixin, report.mixins.InvenTreeReportMixin, @@ -1236,40 +1237,6 @@ def after_save_sales_order(sender, instance: SalesOrder, created: bool, **kwargs notify_responsible(instance, sender, exclude=instance.created_by) -class PurchaseOrderAttachment(InvenTree.models.InvenTreeAttachment): - """Model for storing file attachments against a PurchaseOrder object.""" - - @staticmethod - def get_api_url(): - """Return the API URL associated with the PurchaseOrderAttachment model.""" - return reverse('api-po-attachment-list') - - def getSubdir(self): - """Return the directory path where PurchaseOrderAttachment files are located.""" - return os.path.join('po_files', str(self.order.id)) - - order = models.ForeignKey( - PurchaseOrder, on_delete=models.CASCADE, related_name='attachments' - ) - - -class SalesOrderAttachment(InvenTree.models.InvenTreeAttachment): - """Model for storing file attachments against a SalesOrder object.""" - - @staticmethod - def get_api_url(): - """Return the API URL associated with the SalesOrderAttachment class.""" - return reverse('api-so-attachment-list') - - def getSubdir(self): - """Return the directory path where SalesOrderAttachment files are located.""" - return os.path.join('so_files', str(self.order.id)) - - order = models.ForeignKey( - SalesOrder, on_delete=models.CASCADE, related_name='attachments' - ) - - class OrderLineItem(InvenTree.models.InvenTreeMetadataModel): """Abstract model for an order line item. @@ -2315,20 +2282,3 @@ class ReturnOrderExtraLine(OrderExtraLine): verbose_name=_('Order'), help_text=_('Return Order'), ) - - -class ReturnOrderAttachment(InvenTree.models.InvenTreeAttachment): - """Model for storing file attachments against a ReturnOrder object.""" - - @staticmethod - def get_api_url(): - """Return the API URL associated with the ReturnOrderAttachment class.""" - return reverse('api-return-order-attachment-list') - - def getSubdir(self): - """Return the directory path where ReturnOrderAttachment files are located.""" - return os.path.join('return_files', str(self.order.id)) - - order = models.ForeignKey( - ReturnOrder, on_delete=models.CASCADE, related_name='attachments' - ) diff --git a/src/backend/InvenTree/order/serializers.py b/src/backend/InvenTree/order/serializers.py index ee882beaa3..61e289eaf4 100644 --- a/src/backend/InvenTree/order/serializers.py +++ b/src/backend/InvenTree/order/serializers.py @@ -1,6 +1,5 @@ """JSON serializers for the Order API.""" -from datetime import datetime from decimal import Decimal from django.core.exceptions import ValidationError as DjangoValidationError @@ -42,7 +41,6 @@ from InvenTree.helpers import ( str2bool, ) from InvenTree.serializers import ( - InvenTreeAttachmentSerializer, InvenTreeCurrencySerializer, InvenTreeDecimalField, InvenTreeModelSerializer, @@ -757,17 +755,6 @@ class PurchaseOrderReceiveSerializer(serializers.Serializer): raise ValidationError(detail=serializers.as_serializer_error(exc)) -class PurchaseOrderAttachmentSerializer(InvenTreeAttachmentSerializer): - """Serializers for the PurchaseOrderAttachment model.""" - - class Meta: - """Metaclass options.""" - - model = order.models.PurchaseOrderAttachment - - fields = InvenTreeAttachmentSerializer.attachment_fields(['order']) - - class SalesOrderSerializer( NotesFieldMixin, TotalPriceMixin, AbstractOrderSerializer, InvenTreeModelSerializer ): @@ -1525,17 +1512,6 @@ class SalesOrderExtraLineSerializer( order_detail = SalesOrderSerializer(source='order', many=False, read_only=True) -class SalesOrderAttachmentSerializer(InvenTreeAttachmentSerializer): - """Serializers for the SalesOrderAttachment model.""" - - class Meta: - """Metaclass options.""" - - model = order.models.SalesOrderAttachment - - fields = InvenTreeAttachmentSerializer.attachment_fields(['order']) - - class ReturnOrderSerializer( NotesFieldMixin, AbstractOrderSerializer, TotalPriceMixin, InvenTreeModelSerializer ): @@ -1778,14 +1754,3 @@ class ReturnOrderExtraLineSerializer( model = order.models.ReturnOrderExtraLine order_detail = ReturnOrderSerializer(source='order', many=False, read_only=True) - - -class ReturnOrderAttachmentSerializer(InvenTreeAttachmentSerializer): - """Serializer for the ReturnOrderAttachment model.""" - - class Meta: - """Metaclass options.""" - - model = order.models.ReturnOrderAttachment - - fields = InvenTreeAttachmentSerializer.attachment_fields(['order']) diff --git a/src/backend/InvenTree/order/templates/order/purchase_order_detail.html b/src/backend/InvenTree/order/templates/order/purchase_order_detail.html index 9abc95f365..78da5925ac 100644 --- a/src/backend/InvenTree/order/templates/order/purchase_order_detail.html +++ b/src/backend/InvenTree/order/templates/order/purchase_order_detail.html @@ -132,17 +132,7 @@ }); onPanelLoad('order-attachments', function() { - loadAttachmentTable('{% url "api-po-attachment-list" %}', { - filters: { - order: {{ order.pk }}, - }, - fields: { - order: { - value: {{ order.pk }}, - hidden: true, - } - } - }); + loadAttachmentTable('purchaseorder', {{ order.pk }}); }); loadStockTable($("#stock-table"), { diff --git a/src/backend/InvenTree/order/templates/order/return_order_detail.html b/src/backend/InvenTree/order/templates/order/return_order_detail.html index 8cabf3a9e2..279ddc66cc 100644 --- a/src/backend/InvenTree/order/templates/order/return_order_detail.html +++ b/src/backend/InvenTree/order/templates/order/return_order_detail.html @@ -189,17 +189,7 @@ onPanelLoad('order-notes', function() { // Callback function when the 'attachments' panel is loaded onPanelLoad('order-attachments', function() { - loadAttachmentTable('{% url "api-return-order-attachment-list" %}', { - filters: { - order: {{ order.pk }}, - }, - fields: { - order: { - value: {{ order.pk }}, - hidden: true, - }, - } - }); + loadAttachmentTable('returnorder', {{ order.pk }}); }); enableSidebar('returnorder'); diff --git a/src/backend/InvenTree/order/templates/order/sales_order_detail.html b/src/backend/InvenTree/order/templates/order/sales_order_detail.html index 3b92201f10..c135211ab5 100644 --- a/src/backend/InvenTree/order/templates/order/sales_order_detail.html +++ b/src/backend/InvenTree/order/templates/order/sales_order_detail.html @@ -203,17 +203,7 @@ onPanelLoad('order-attachments', function() { - loadAttachmentTable('{% url "api-so-attachment-list" %}', { - filters: { - order: {{ order.pk }}, - }, - fields: { - order: { - value: {{ order.pk }}, - hidden: true, - }, - } - }); + loadAttachmentTable('salesorder', {{ order.pk }}); }); loadBuildTable($("#builds-table"), { diff --git a/src/backend/InvenTree/order/test_api.py b/src/backend/InvenTree/order/test_api.py index 73518b7ac8..440a09668f 100644 --- a/src/backend/InvenTree/order/test_api.py +++ b/src/backend/InvenTree/order/test_api.py @@ -258,9 +258,9 @@ class PurchaseOrderTest(OrderTest): def test_po_attachments(self): """Test the list endpoint for the PurchaseOrderAttachment model.""" - url = reverse('api-po-attachment-list') + url = reverse('api-attachment-list') - response = self.get(url) + response = self.get(url, {'model_type': 'purchaseorder'}) self.assertEqual(response.status_code, status.HTTP_200_OK) @@ -1260,9 +1260,12 @@ class SalesOrderTest(OrderTest): def test_so_attachments(self): """Test the list endpoint for the SalesOrderAttachment model.""" - url = reverse('api-so-attachment-list') + url = reverse('api-attachment-list') - self.get(url) + # Filter by 'salesorder' + self.get( + url, data={'model_type': 'salesorder', 'model_id': 1}, expected_code=200 + ) def test_so_operations(self): """Test that we can create / edit and delete a SalesOrder via the API.""" diff --git a/src/backend/InvenTree/part/admin.py b/src/backend/InvenTree/part/admin.py index e526dfc7ab..7ca74d75bc 100644 --- a/src/backend/InvenTree/part/admin.py +++ b/src/backend/InvenTree/part/admin.py @@ -353,14 +353,6 @@ class PartRelatedAdmin(admin.ModelAdmin): autocomplete_fields = ('part_1', 'part_2') -class PartAttachmentAdmin(admin.ModelAdmin): - """Admin class for the PartAttachment model.""" - - list_display = ('part', 'attachment', 'comment') - - autocomplete_fields = ('part',) - - class PartTestTemplateAdmin(admin.ModelAdmin): """Admin class for the PartTestTemplate model.""" @@ -607,7 +599,6 @@ class PartInternalPriceBreakAdmin(admin.ModelAdmin): admin.site.register(models.Part, PartAdmin) admin.site.register(models.PartCategory, PartCategoryAdmin) admin.site.register(models.PartRelated, PartRelatedAdmin) -admin.site.register(models.PartAttachment, PartAttachmentAdmin) admin.site.register(models.BomItem, BomItemAdmin) admin.site.register(models.PartParameterTemplate, ParameterTemplateAdmin) admin.site.register(models.PartParameter, ParameterAdmin) diff --git a/src/backend/InvenTree/part/api.py b/src/backend/InvenTree/part/api.py index 327a03e75d..acfe95eaca 100644 --- a/src/backend/InvenTree/part/api.py +++ b/src/backend/InvenTree/part/api.py @@ -19,12 +19,7 @@ import order.models import part.filters from build.models import Build, BuildItem from build.status_codes import BuildStatusGroups -from InvenTree.api import ( - APIDownloadMixin, - AttachmentMixin, - ListCreateDestroyAPIView, - MetadataView, -) +from InvenTree.api import APIDownloadMixin, ListCreateDestroyAPIView, MetadataView from InvenTree.filters import ( ORDER_FILTER, ORDER_FILTER_ALIAS, @@ -56,7 +51,6 @@ from .models import ( BomItem, BomItemSubstitute, Part, - PartAttachment, PartCategory, PartCategoryParameterTemplate, PartInternalPriceBreak, @@ -404,22 +398,6 @@ class PartInternalPriceList(ListCreateAPI): ordering = 'quantity' -class PartAttachmentList(AttachmentMixin, ListCreateDestroyAPIView): - """API endpoint for listing, creating and bulk deleting a PartAttachment (file upload).""" - - queryset = PartAttachment.objects.all() - serializer_class = part_serializers.PartAttachmentSerializer - - filterset_fields = ['part'] - - -class PartAttachmentDetail(AttachmentMixin, RetrieveUpdateDestroyAPI): - """Detail endpoint for PartAttachment model.""" - - queryset = PartAttachment.objects.all() - serializer_class = part_serializers.PartAttachmentSerializer - - class PartTestTemplateFilter(rest_filters.FilterSet): """Custom filterset class for the PartTestTemplateList endpoint.""" @@ -2059,18 +2037,6 @@ part_api_urls = [ ), ]), ), - # Base URL for PartAttachment API endpoints - path( - 'attachment/', - include([ - path( - '/', - PartAttachmentDetail.as_view(), - name='api-part-attachment-detail', - ), - path('', PartAttachmentList.as_view(), name='api-part-attachment-list'), - ]), - ), # Base URL for part sale pricing path( 'sale-price/', diff --git a/src/backend/InvenTree/part/migrations/0032_auto_20200322_0453.py b/src/backend/InvenTree/part/migrations/0032_auto_20200322_0453.py index 29fb25f1e7..6b1403b0be 100644 --- a/src/backend/InvenTree/part/migrations/0032_auto_20200322_0453.py +++ b/src/backend/InvenTree/part/migrations/0032_auto_20200322_0453.py @@ -14,6 +14,6 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='partattachment', name='attachment', - field=models.FileField(help_text='Select file to attach', upload_to=InvenTree.models.rename_attachment), + field=models.FileField(help_text='Select file to attach', upload_to='attachments'), ), ] diff --git a/src/backend/InvenTree/part/migrations/0064_auto_20210404_2016.py b/src/backend/InvenTree/part/migrations/0064_auto_20210404_2016.py index 57943347a1..90cc04f885 100644 --- a/src/backend/InvenTree/part/migrations/0064_auto_20210404_2016.py +++ b/src/backend/InvenTree/part/migrations/0064_auto_20210404_2016.py @@ -98,7 +98,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='partattachment', name='attachment', - field=models.FileField(help_text='Select file to attach', upload_to=InvenTree.models.rename_attachment, verbose_name='Attachment'), + field=models.FileField(help_text='Select file to attach', upload_to='attachments', verbose_name='Attachment'), ), migrations.AlterField( model_name='partattachment', diff --git a/src/backend/InvenTree/part/migrations/0075_auto_20211128_0151.py b/src/backend/InvenTree/part/migrations/0075_auto_20211128_0151.py index d484a7adce..f516846ae2 100644 --- a/src/backend/InvenTree/part/migrations/0075_auto_20211128_0151.py +++ b/src/backend/InvenTree/part/migrations/0075_auto_20211128_0151.py @@ -20,6 +20,6 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='partattachment', name='attachment', - field=models.FileField(blank=True, help_text='Select file to attach', null=True, upload_to=InvenTree.models.rename_attachment, verbose_name='Attachment'), + field=models.FileField(blank=True, help_text='Select file to attach', null=True, upload_to='attachments', verbose_name='Attachment'), ), ] diff --git a/src/backend/InvenTree/part/migrations/0124_delete_partattachment.py b/src/backend/InvenTree/part/migrations/0124_delete_partattachment.py new file mode 100644 index 0000000000..5213211aa4 --- /dev/null +++ b/src/backend/InvenTree/part/migrations/0124_delete_partattachment.py @@ -0,0 +1,21 @@ +# Generated by Django 4.2.12 on 2024-06-09 09:02 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('build', '0050_auto_20240508_0138'), + ('common', '0026_auto_20240608_1238'), + ('company', '0069_company_active'), + ('order', '0099_alter_salesorder_status'), + ('part', '0123_parttesttemplate_choices'), + ('stock', '0110_alter_stockitemtestresult_finished_datetime_and_more') + ] + + operations = [ + migrations.DeleteModel( + name='PartAttachment', + ), + ] diff --git a/src/backend/InvenTree/part/models.py b/src/backend/InvenTree/part/models.py index bd84892ff3..8fa973a964 100644 --- a/src/backend/InvenTree/part/models.py +++ b/src/backend/InvenTree/part/models.py @@ -341,6 +341,7 @@ class PartManager(TreeManager): @cleanup.ignore class Part( + InvenTree.models.InvenTreeAttachmentMixin, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models.InvenTreeNotesMixin, report.mixins.InvenTreeReportMixin, @@ -2208,24 +2209,6 @@ class Part( required=True, enabled=enabled, include_parent=include_parent ) - @property - def attachment_count(self): - """Count the number of attachments for this part. - - If the part is a variant of a template part, - include the number of attachments for the template part. - """ - return self.part_attachments.count() - - @property - def part_attachments(self): - """Return *all* attachments for this part, potentially including attachments for template parts above this one.""" - ancestors = self.get_ancestors(include_self=True) - - attachments = PartAttachment.objects.filter(part__in=ancestors) - - return attachments - def sales_orders(self): """Return a list of sales orders which reference this part.""" orders = [] @@ -3299,26 +3282,6 @@ class PartStocktakeReport(models.Model): ) -class PartAttachment(InvenTree.models.InvenTreeAttachment): - """Model for storing file attachments against a Part object.""" - - @staticmethod - def get_api_url(): - """Return the list API endpoint URL associated with the PartAttachment model.""" - return reverse('api-part-attachment-list') - - def getSubdir(self): - """Returns the media subdirectory where part attachments are stored.""" - return os.path.join('part_files', str(self.part.id)) - - part = models.ForeignKey( - Part, - on_delete=models.CASCADE, - verbose_name=_('Part'), - related_name='attachments', - ) - - class PartSellPriceBreak(common.models.PriceBreak): """Represents a price break for selling this part.""" diff --git a/src/backend/InvenTree/part/serializers.py b/src/backend/InvenTree/part/serializers.py index 3cf35becad..6bdc61cd6b 100644 --- a/src/backend/InvenTree/part/serializers.py +++ b/src/backend/InvenTree/part/serializers.py @@ -22,7 +22,6 @@ from sql_util.utils import SubqueryCount, SubquerySum from taggit.serializers import TagListSerializerField import common.currency -import common.models import common.settings import company.models import InvenTree.helpers @@ -41,7 +40,6 @@ from .models import ( BomItem, BomItemSubstitute, Part, - PartAttachment, PartCategory, PartCategoryParameterTemplate, PartInternalPriceBreak, @@ -147,19 +145,6 @@ class CategoryTree(InvenTree.serializers.InvenTreeModelSerializer): return queryset.annotate(subcategories=part.filters.annotate_sub_categories()) -class PartAttachmentSerializer(InvenTree.serializers.InvenTreeAttachmentSerializer): - """Serializer for the PartAttachment class.""" - - class Meta: - """Metaclass defining serializer fields.""" - - model = PartAttachment - - fields = InvenTree.serializers.InvenTreeAttachmentSerializer.attachment_fields([ - 'part' - ]) - - class PartTestTemplateSerializer(InvenTree.serializers.InvenTreeModelSerializer): """Serializer for the PartTestTemplate class.""" @@ -1171,7 +1156,7 @@ class PartStocktakeReportGenerateSerializer(serializers.Serializer): def validate(self, data): """Custom validation for this serializer.""" # Stocktake functionality must be enabled - if not common.models.InvenTreeSetting.get_setting('STOCKTAKE_ENABLE', False): + if not common.settings.get_global_setting('STOCKTAKE_ENABLE'): raise serializers.ValidationError( _('Stocktake functionality is not enabled') ) diff --git a/src/backend/InvenTree/part/templates/part/detail.html b/src/backend/InvenTree/part/templates/part/detail.html index f65a5e709f..71a0efd366 100644 --- a/src/backend/InvenTree/part/templates/part/detail.html +++ b/src/backend/InvenTree/part/templates/part/detail.html @@ -803,17 +803,7 @@ }); onPanelLoad("part-attachments", function() { - loadAttachmentTable('{% url "api-part-attachment-list" %}', { - filters: { - part: {{ part.pk }}, - }, - fields: { - part: { - value: {{ part.pk }}, - hidden: true - } - } - }); + loadAttachmentTable('part', {{ part.pk }}); }); onPanelLoad('pricing', function() { diff --git a/src/backend/InvenTree/part/test_api.py b/src/backend/InvenTree/part/test_api.py index da3f4df47c..6fb7265410 100644 --- a/src/backend/InvenTree/part/test_api.py +++ b/src/backend/InvenTree/part/test_api.py @@ -2513,22 +2513,28 @@ class PartAttachmentTest(InvenTreeAPITestCase): def test_add_attachment(self): """Test that we can create a new PartAttachment via the API.""" - url = reverse('api-part-attachment-list') + url = reverse('api-attachment-list') # Upload without permission - response = self.post(url, {}, expected_code=403) + response = self.post( + url, {'model_id': 1, 'model_type': 'part'}, expected_code=403 + ) # Add required permission self.assignRole('part.add') + self.assignRole('part.change') # Upload without specifying part (will fail) response = self.post(url, {'comment': 'Hello world'}, expected_code=400) - self.assertIn('This field is required', str(response.data['part'])) + self.assertIn('This field is required', str(response.data['model_id'])) + self.assertIn('This field is required', str(response.data['model_type'])) # Upload without file OR link (will fail) response = self.post( - url, {'part': 1, 'comment': 'Hello world'}, expected_code=400 + url, + {'model_id': 1, 'model_type': 'part', 'comment': 'Hello world'}, + expected_code=400, ) self.assertIn('Missing file', str(response.data['attachment'])) @@ -2536,7 +2542,9 @@ class PartAttachmentTest(InvenTreeAPITestCase): # Upload an invalid link (will fail) response = self.post( - url, {'part': 1, 'link': 'not-a-link.py'}, expected_code=400 + url, + {'model_id': 1, 'model_type': 'part', 'link': 'not-a-link.py'}, + expected_code=400, ) self.assertIn('Enter a valid URL', str(response.data['link'])) @@ -2545,12 +2553,20 @@ class PartAttachmentTest(InvenTreeAPITestCase): # Upload a valid link (will pass) response = self.post( - url, {'part': 1, 'link': link, 'comment': 'Hello world'}, expected_code=201 + url, + { + 'model_id': 1, + 'model_type': 'part', + 'link': link, + 'comment': 'Hello world', + }, + expected_code=201, ) data = response.data - self.assertEqual(data['part'], 1) + self.assertEqual(data['model_type'], 'part') + self.assertEqual(data['model_id'], 1) self.assertEqual(data['link'], link) self.assertEqual(data['comment'], 'Hello world') diff --git a/src/backend/InvenTree/plugin/base/integration/ScheduleMixin.py b/src/backend/InvenTree/plugin/base/integration/ScheduleMixin.py index e12cc2a25d..8b350a7ed1 100644 --- a/src/backend/InvenTree/plugin/base/integration/ScheduleMixin.py +++ b/src/backend/InvenTree/plugin/base/integration/ScheduleMixin.py @@ -5,6 +5,7 @@ import logging from django.conf import settings from django.db.utils import OperationalError, ProgrammingError +from common.settings import get_global_setting from plugin.helpers import MixinImplementationError logger = logging.getLogger('inventree') @@ -58,16 +59,12 @@ class ScheduleMixin: @classmethod def _activate_mixin(cls, registry, plugins, *args, **kwargs): """Activate schedules from plugins with the ScheduleMixin.""" - from common.models import InvenTreeSetting - logger.debug('Activating plugin tasks') # List of tasks we have activated task_keys = [] - if settings.PLUGIN_TESTING or InvenTreeSetting.get_setting( - 'ENABLE_PLUGINS_SCHEDULE' - ): + if settings.PLUGIN_TESTING or get_global_setting('ENABLE_PLUGINS_SCHEDULE'): for _key, plugin in plugins: if plugin.mixin_enabled('schedule') and plugin.is_active(): # Only active tasks for plugins which are enabled diff --git a/src/backend/InvenTree/plugin/registry.py b/src/backend/InvenTree/plugin/registry.py index f837c64ce0..0d41c2963e 100644 --- a/src/backend/InvenTree/plugin/registry.py +++ b/src/backend/InvenTree/plugin/registry.py @@ -786,7 +786,7 @@ class PluginsRegistry: for k in self.plugin_settings_keys(): try: - val = get_global_setting(k, False, create=False) + val = get_global_setting(k) msg = f'{k}-{val}' data.update(msg.encode()) diff --git a/src/backend/InvenTree/plugin/urls.py b/src/backend/InvenTree/plugin/urls.py index ac454e588e..5d6485e4ec 100644 --- a/src/backend/InvenTree/plugin/urls.py +++ b/src/backend/InvenTree/plugin/urls.py @@ -3,20 +3,18 @@ from django.conf import settings from django.urls import include, re_path +from common.validators import get_global_setting + PLUGIN_BASE = 'plugin' # Constant for links def get_plugin_urls(): """Returns a urlpattern that can be integrated into the global urls.""" - from common.models import InvenTreeSetting from plugin.registry import registry urls = [] - if ( - InvenTreeSetting.get_setting('ENABLE_PLUGINS_URL', False) - or settings.PLUGIN_TESTING_SETUP - ): + if get_global_setting('ENABLE_PLUGINS_URL', False) or settings.PLUGIN_TESTING_SETUP: for plugin in registry.plugins.values(): if plugin.mixin_enabled('urls'): urls.append(plugin.urlpatterns) diff --git a/src/backend/InvenTree/report/helpers.py b/src/backend/InvenTree/report/helpers.py index a790b02662..8dcb196024 100644 --- a/src/backend/InvenTree/report/helpers.py +++ b/src/backend/InvenTree/report/helpers.py @@ -70,7 +70,7 @@ def page_size(page_code): def report_page_size_default(): """Returns the default page size for PDF reports.""" try: - page_size = get_global_setting('REPORT_DEFAULT_PAGE_SIZE', 'A4') + page_size = get_global_setting('REPORT_DEFAULT_PAGE_SIZE', 'A4', create=False) except Exception as exc: logger.exception('Error getting default page size: %s', str(exc)) page_size = 'A4' diff --git a/src/backend/InvenTree/report/models.py b/src/backend/InvenTree/report/models.py index 05584b5588..ec4ba2f2d5 100644 --- a/src/backend/InvenTree/report/models.py +++ b/src/backend/InvenTree/report/models.py @@ -21,6 +21,7 @@ import InvenTree.helpers import InvenTree.models import report.helpers import report.validators +from common.settings import get_global_setting from InvenTree.helpers_model import get_base_url from InvenTree.models import MetadataMixin from plugin.registry import registry @@ -311,8 +312,8 @@ class ReportTemplate(TemplateUploadMixin, ReportTemplateBase): def get_report_size(self): """Return the printable page size for this report.""" try: - page_size_default = common.models.InvenTreeSetting.get_setting( - 'REPORT_DEFAULT_PAGE_SIZE', 'A4' + page_size_default = get_global_setting( + 'REPORT_DEFAULT_PAGE_SIZE', 'A4', create=False ) except Exception: page_size_default = 'A4' diff --git a/src/backend/InvenTree/report/tests.py b/src/backend/InvenTree/report/tests.py index bf30286f15..b5ac753fd9 100644 --- a/src/backend/InvenTree/report/tests.py +++ b/src/backend/InvenTree/report/tests.py @@ -15,14 +15,14 @@ from PIL import Image import report.models as report_models from build.models import Build -from common.models import InvenTreeSetting +from common.models import Attachment, InvenTreeSetting from InvenTree.unit_test import InvenTreeAPITestCase from order.models import ReturnOrder, SalesOrder from plugin.registry import registry from report.models import LabelTemplate, ReportTemplate from report.templatetags import barcode as barcode_tags from report.templatetags import report as report_tags -from stock.models import StockItem, StockItemAttachment +from stock.models import StockItem class ReportTagTest(TestCase): @@ -502,7 +502,7 @@ class PrintTestMixins: }, expected_code=201, max_query_time=15, - max_query_count=1000, # TODO: Should look into this + max_query_count=500 * len(qs), ) @@ -548,7 +548,9 @@ class TestReportTest(PrintTestMixins, ReportTest): self.assertEqual(response.data['output'].startswith('/media/report/'), True) # By default, this should *not* have created an attachment against this stockitem - self.assertFalse(StockItemAttachment.objects.filter(stock_item=item).exists()) + self.assertFalse( + Attachment.objects.filter(model_id=item.pk, model_type='stockitem').exists() + ) return # TODO @matmair - Re-add this test after https://github.com/inventree/InvenTree/pull/7074/files#r1600694356 is resolved @@ -563,7 +565,9 @@ class TestReportTest(PrintTestMixins, ReportTest): self.assertEqual(response.data['output'].startswith('/media/report/'), True) # Check that a report has been uploaded - attachment = StockItemAttachment.objects.filter(stock_item=item).first() + attachment = Attachment.objects.filter( + model_id=item.pk, model_type='stockitem' + ).first() self.assertIsNotNone(attachment) def test_mdl_build(self): diff --git a/src/backend/InvenTree/stock/admin.py b/src/backend/InvenTree/stock/admin.py index eca6728dac..3ca5c6a664 100644 --- a/src/backend/InvenTree/stock/admin.py +++ b/src/backend/InvenTree/stock/admin.py @@ -16,7 +16,6 @@ from part.models import Part from .models import ( StockItem, - StockItemAttachment, StockItemTestResult, StockItemTracking, StockLocation, @@ -301,15 +300,6 @@ class StockItemAdmin(ImportExportModelAdmin): ] -@admin.register(StockItemAttachment) -class StockAttachmentAdmin(admin.ModelAdmin): - """Admin class for StockAttachment.""" - - list_display = ('stock_item', 'attachment', 'comment') - - autocomplete_fields = ['stock_item'] - - @admin.register(StockItemTracking) class StockTrackingAdmin(ImportExportModelAdmin): """Admin class for StockTracking.""" diff --git a/src/backend/InvenTree/stock/api.py b/src/backend/InvenTree/stock/api.py index 4142083006..4b6903bf96 100644 --- a/src/backend/InvenTree/stock/api.py +++ b/src/backend/InvenTree/stock/api.py @@ -28,12 +28,7 @@ from build.serializers import BuildSerializer from company.models import Company, SupplierPart from company.serializers import CompanySerializer from generic.states.api import StatusView -from InvenTree.api import ( - APIDownloadMixin, - AttachmentMixin, - ListCreateDestroyAPIView, - MetadataView, -) +from InvenTree.api import APIDownloadMixin, ListCreateDestroyAPIView, MetadataView from InvenTree.filters import ( ORDER_FILTER_ALIAS, SEARCH_ORDER_FILTER, @@ -68,7 +63,6 @@ from stock.admin import LocationResource, StockItemResource from stock.generators import generate_batch_code, generate_serial_number from stock.models import ( StockItem, - StockItemAttachment, StockItemTestResult, StockItemTracking, StockLocation, @@ -1221,22 +1215,6 @@ class StockList(APIDownloadMixin, ListCreateDestroyAPIView): ] -class StockAttachmentList(AttachmentMixin, ListCreateDestroyAPIView): - """API endpoint for listing, creating and bulk deleting a StockItemAttachment (file upload).""" - - queryset = StockItemAttachment.objects.all() - serializer_class = StockSerializers.StockItemAttachmentSerializer - - filterset_fields = ['stock_item'] - - -class StockAttachmentDetail(AttachmentMixin, RetrieveUpdateDestroyAPI): - """Detail endpoint for StockItemAttachment.""" - - queryset = StockItemAttachment.objects.all() - serializer_class = StockSerializers.StockItemAttachmentSerializer - - class StockItemTestResultMixin: """Mixin class for the StockItemTestResult API endpoints.""" @@ -1609,18 +1587,6 @@ stock_api_urls = [ path('assign/', StockAssign.as_view(), name='api-stock-assign'), path('merge/', StockMerge.as_view(), name='api-stock-merge'), path('change_status/', StockChangeStatus.as_view(), name='api-stock-change-status'), - # StockItemAttachment API endpoints - path( - 'attachment/', - include([ - path( - '/', - StockAttachmentDetail.as_view(), - name='api-stock-attachment-detail', - ), - path('', StockAttachmentList.as_view(), name='api-stock-attachment-list'), - ]), - ), # StockItemTestResult API endpoints path( 'test/', diff --git a/src/backend/InvenTree/stock/migrations/0036_stockitemattachment.py b/src/backend/InvenTree/stock/migrations/0036_stockitemattachment.py index 946f6251b0..1ffc87b1e2 100644 --- a/src/backend/InvenTree/stock/migrations/0036_stockitemattachment.py +++ b/src/backend/InvenTree/stock/migrations/0036_stockitemattachment.py @@ -16,7 +16,7 @@ class Migration(migrations.Migration): name='StockItemAttachment', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('attachment', models.FileField(help_text='Select file to attach', upload_to=InvenTree.models.rename_attachment)), + ('attachment', models.FileField(help_text='Select file to attach', upload_to='attachments')), ('comment', models.CharField(help_text='File comment', max_length=100)), ('stock_item', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='attachments', to='stock.StockItem')), ], diff --git a/src/backend/InvenTree/stock/migrations/0059_auto_20210404_2016.py b/src/backend/InvenTree/stock/migrations/0059_auto_20210404_2016.py index b027a53854..3305b719e5 100644 --- a/src/backend/InvenTree/stock/migrations/0059_auto_20210404_2016.py +++ b/src/backend/InvenTree/stock/migrations/0059_auto_20210404_2016.py @@ -32,7 +32,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='stockitemattachment', name='attachment', - field=models.FileField(help_text='Select file to attach', upload_to=InvenTree.models.rename_attachment, verbose_name='Attachment'), + field=models.FileField(help_text='Select file to attach', upload_to='attachments', verbose_name='Attachment'), ), migrations.AlterField( model_name='stockitemattachment', diff --git a/src/backend/InvenTree/stock/migrations/0070_auto_20211128_0151.py b/src/backend/InvenTree/stock/migrations/0070_auto_20211128_0151.py index a2f6ef322d..3c23c28f65 100644 --- a/src/backend/InvenTree/stock/migrations/0070_auto_20211128_0151.py +++ b/src/backend/InvenTree/stock/migrations/0070_auto_20211128_0151.py @@ -20,6 +20,6 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='stockitemattachment', name='attachment', - field=models.FileField(blank=True, help_text='Select file to attach', null=True, upload_to=InvenTree.models.rename_attachment, verbose_name='Attachment'), + field=models.FileField(blank=True, help_text='Select file to attach', null=True, upload_to='attachments', verbose_name='Attachment'), ), ] diff --git a/src/backend/InvenTree/stock/migrations/0111_delete_stockitemattachment.py b/src/backend/InvenTree/stock/migrations/0111_delete_stockitemattachment.py new file mode 100644 index 0000000000..1526a63799 --- /dev/null +++ b/src/backend/InvenTree/stock/migrations/0111_delete_stockitemattachment.py @@ -0,0 +1,21 @@ +# Generated by Django 4.2.12 on 2024-06-09 09:02 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('build', '0050_auto_20240508_0138'), + ('common', '0026_auto_20240608_1238'), + ('company', '0069_company_active'), + ('order', '0099_alter_salesorder_status'), + ('part', '0123_parttesttemplate_choices'), + ('stock', '0110_alter_stockitemtestresult_finished_datetime_and_more') + ] + + operations = [ + migrations.DeleteModel( + name='StockItemAttachment', + ), + ] diff --git a/src/backend/InvenTree/stock/models.py b/src/backend/InvenTree/stock/models.py index 192b8fa62f..f587cdf71f 100644 --- a/src/backend/InvenTree/stock/models.py +++ b/src/backend/InvenTree/stock/models.py @@ -316,6 +316,7 @@ def default_delete_on_deplete(): class StockItem( + InvenTree.models.InvenTreeAttachmentMixin, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models.InvenTreeNotesMixin, report.mixins.InvenTreeReportMixin, @@ -2255,23 +2256,6 @@ def after_save_stock_item(sender, instance: StockItem, created, **kwargs): instance.part.schedule_pricing_update(create=True) -class StockItemAttachment(InvenTree.models.InvenTreeAttachment): - """Model for storing file attachments against a StockItem object.""" - - @staticmethod - def get_api_url(): - """Return API url.""" - return reverse('api-stock-attachment-list') - - def getSubdir(self): - """Override attachment location.""" - return os.path.join('stock_files', str(self.stock_item.id)) - - stock_item = models.ForeignKey( - StockItem, on_delete=models.CASCADE, related_name='attachments' - ) - - class StockItemTracking(InvenTree.models.InvenTreeModel): """Stock tracking entry - used for tracking history of a particular StockItem. diff --git a/src/backend/InvenTree/stock/serializers.py b/src/backend/InvenTree/stock/serializers.py index 2e0c2d2531..c727741895 100644 --- a/src/backend/InvenTree/stock/serializers.py +++ b/src/backend/InvenTree/stock/serializers.py @@ -31,7 +31,6 @@ from part.serializers import PartBriefSerializer, PartTestTemplateSerializer from .models import ( StockItem, - StockItemAttachment, StockItemTestResult, StockItemTracking, StockLocation, @@ -1101,21 +1100,6 @@ class LocationSerializer(InvenTree.serializers.InvenTreeTagModelSerializer): ) -class StockItemAttachmentSerializer( - InvenTree.serializers.InvenTreeAttachmentSerializer -): - """Serializer for StockItemAttachment model.""" - - class Meta: - """Metaclass options.""" - - model = StockItemAttachment - - fields = InvenTree.serializers.InvenTreeAttachmentSerializer.attachment_fields([ - 'stock_item' - ]) - - class StockTrackingSerializer(InvenTree.serializers.InvenTreeModelSerializer): """Serializer for StockItemTracking model.""" diff --git a/src/backend/InvenTree/stock/templates/stock/item.html b/src/backend/InvenTree/stock/templates/stock/item.html index 214a409bcd..f85c5694e9 100644 --- a/src/backend/InvenTree/stock/templates/stock/item.html +++ b/src/backend/InvenTree/stock/templates/stock/item.html @@ -220,17 +220,7 @@ }); onPanelLoad('attachments', function() { - loadAttachmentTable('{% url "api-stock-attachment-list" %}', { - filters: { - stock_item: {{ item.pk }}, - }, - fields: { - stock_item: { - value: {{ item.pk }}, - hidden: true, - } - } - }); + loadAttachmentTable('stockitem', {{ item.pk }}); }); {% settings_value "TEST_STATION_DATA" as test_station_fields %} diff --git a/src/backend/InvenTree/stock/test_api.py b/src/backend/InvenTree/stock/test_api.py index a0cf28c3bf..7848fd8234 100644 --- a/src/backend/InvenTree/stock/test_api.py +++ b/src/backend/InvenTree/stock/test_api.py @@ -885,13 +885,6 @@ class StockItemListTest(StockAPITestCase): def test_query_count(self): """Test that the number of queries required to fetch stock items is reasonable.""" - - def get_stock(data, expected_status=200): - """Helper function to fetch stock items.""" - response = self.client.get(self.list_url, data=data) - self.assertEqual(response.status_code, expected_status) - return response.data - # Create a bunch of StockItem objects prt = Part.objects.first() @@ -901,20 +894,18 @@ class StockItemListTest(StockAPITestCase): ]) # List *all* stock items - with self.assertNumQueriesLessThan(25): - get_stock({}) + self.get(self.list_url, {}, max_query_count=35) # List all stock items, with part detail - with self.assertNumQueriesLessThan(20): - get_stock({'part_detail': True}) + self.get(self.list_url, {'part_detail': True}, max_query_count=35) # List all stock items, with supplier_part detail - with self.assertNumQueriesLessThan(20): - get_stock({'supplier_part_detail': True}) + self.get(self.list_url, {'supplier_part_detail': True}, max_query_count=35) # List all stock items, with 'location' and 'tests' detail - with self.assertNumQueriesLessThan(20): - get_stock({'location_detail': True, 'tests': True}) + self.get( + self.list_url, {'location_detail': True, 'tests': True}, max_query_count=35 + ) class StockItemTest(StockAPITestCase): diff --git a/src/backend/InvenTree/templates/js/translated/attachment.js b/src/backend/InvenTree/templates/js/translated/attachment.js index 4ec0b4b625..19f2c33544 100644 --- a/src/backend/InvenTree/templates/js/translated/attachment.js +++ b/src/backend/InvenTree/templates/js/translated/attachment.js @@ -214,34 +214,41 @@ function makeAttachmentActions(permissions, options) { /* Load a table of attachments against a specific model. * Note that this is a 'generic' table which is used for multiple attachment model classes */ -function loadAttachmentTable(url, options) { +function loadAttachmentTable(model_type, model_id, options={}) { - var table = options.table || '#attachment-table'; + const url = '{% url "api-attachment-list" %}'; + const table = options.table || '#attachment-table'; - var permissions = {}; + let filters = { + model_type: model_type, + model_id: model_id, + }; - // First we determine which permissions the user has for this attachment table + let permissions = { + delete: false, + add: false, + change: false, + }; + + // Request the permissions for the current user $.ajax({ - url: url, + url: '{% url "api-user-roles" %}', async: false, - type: 'OPTIONS', - contentType: 'application/json', dataType: 'json', - accepts: { - json: 'application/json', - }, + contentType: 'application/json', success: function(response) { - if (response.actions.DELETE) { + if (response.is_superuser) { permissions.delete = true; + permissions.add = true; + permissions.change = true; + return; } - if (response.actions.POST) { - permissions.change = true; - permissions.add = true; - } - }, - error: function(xhr) { - showApiError(xhr, url); + let model_permissions = response?.permissions[model_type] ?? {}; + + permissions.delete = "delete" in model_permissions; + permissions.add = "add" in model_permissions; + permissions.change = "change" in model_permissions; } }); @@ -261,7 +268,19 @@ function loadAttachmentTable(url, options) { }); if (permissions.add) { - addAttachmentButtonCallbacks(url, options.fields || {}); + addAttachmentButtonCallbacks( + url, + { + model_type: { + value: model_type, + hidden: true, + }, + model_id: { + value: model_id, + hidden: true, + }, + } + ); } else { // Hide the buttons $('#new-attachment').hide(); @@ -276,7 +295,7 @@ function loadAttachmentTable(url, options) { }, sortable: true, search: true, - queryParams: options.filters || {}, + queryParams: filters, uniqueId: 'pk', sidePagination: 'server', onPostBody: function() { @@ -386,7 +405,10 @@ function loadAttachmentTable(url, options) { '#attachment-dropzone', url, { - data: options.filters, + data: { + model_type: model_type, + model_id: model_id, + }, label: 'attachment', method: 'POST', success: function() { diff --git a/src/backend/InvenTree/users/api.py b/src/backend/InvenTree/users/api.py index 6ff708dbca..a7b89e4ef1 100644 --- a/src/backend/InvenTree/users/api.py +++ b/src/backend/InvenTree/users/api.py @@ -4,7 +4,8 @@ import datetime import logging from django.contrib.auth import get_user, login, logout -from django.contrib.auth.models import Group, User +from django.contrib.auth.models import Group, Permission, User +from django.db.models import Q from django.urls import include, path, re_path from django.views.generic.base import RedirectView @@ -137,10 +138,29 @@ class RoleDetails(APIView): else: roles[role] = None # pragma: no cover + # Extract individual permissions for the user + if user.is_superuser: + permissions = Permission.objects.all() + else: + permissions = Permission.objects.filter( + Q(user=user) | Q(group__user=user) + ).distinct() + + perms = {} + + for permission in permissions: + perm, model = permission.codename.split('_') + + if model not in perms: + perms[model] = [] + + perms[model].append(perm) + data = { 'user': user.pk, 'username': user.username, 'roles': roles, + 'permissions': perms, 'is_staff': user.is_staff, 'is_superuser': user.is_superuser, } diff --git a/src/backend/InvenTree/users/migrations/0011_auto_20240523_1640.py b/src/backend/InvenTree/users/migrations/0011_auto_20240523_1640.py index cdda226fe9..a736de6f72 100644 --- a/src/backend/InvenTree/users/migrations/0011_auto_20240523_1640.py +++ b/src/backend/InvenTree/users/migrations/0011_auto_20240523_1640.py @@ -9,6 +9,10 @@ from django.db import migrations def clear_sessions(apps, schema_editor): """Clear all user sessions.""" + # Ignore in test mode + if settings.TESTING: + return + try: engine = import_module(settings.SESSION_ENGINE) engine.SessionStore.clear_expired() diff --git a/src/backend/InvenTree/users/models.py b/src/backend/InvenTree/users/models.py index 0a175b3c7a..df237c3416 100644 --- a/src/backend/InvenTree/users/models.py +++ b/src/backend/InvenTree/users/models.py @@ -258,7 +258,6 @@ class RuleSet(models.Model): 'part_partpricing', 'part_bomitem', 'part_bomitemsubstitute', - 'part_partattachment', 'part_partsellpricebreak', 'part_partinternalpricebreak', 'part_parttesttemplate', @@ -270,13 +269,11 @@ class RuleSet(models.Model): 'company_supplierpart', 'company_manufacturerpart', 'company_manufacturerpartparameter', - 'company_manufacturerpartattachment', ], 'stocktake': ['part_partstocktake', 'part_partstocktakereport'], 'stock_location': ['stock_stocklocation', 'stock_stocklocationtype'], 'stock': [ 'stock_stockitem', - 'stock_stockitemattachment', 'stock_stockitemtracking', 'stock_stockitemtestresult', ], @@ -288,13 +285,11 @@ class RuleSet(models.Model): 'build_build', 'build_builditem', 'build_buildline', - 'build_buildorderattachment', 'stock_stockitem', 'stock_stocklocation', ], 'purchase_order': [ 'company_company', - 'company_companyattachment', 'company_contact', 'company_address', 'company_manufacturerpart', @@ -302,31 +297,26 @@ class RuleSet(models.Model): 'company_supplierpart', 'company_supplierpricebreak', 'order_purchaseorder', - 'order_purchaseorderattachment', 'order_purchaseorderlineitem', 'order_purchaseorderextraline', ], 'sales_order': [ 'company_company', - 'company_companyattachment', 'company_contact', 'company_address', 'order_salesorder', 'order_salesorderallocation', - 'order_salesorderattachment', 'order_salesorderlineitem', 'order_salesorderextraline', 'order_salesordershipment', ], 'return_order': [ 'company_company', - 'company_companyattachment', 'company_contact', 'company_address', 'order_returnorder', 'order_returnorderlineitem', 'order_returnorderextraline', - 'order_returnorderattachment', ], } @@ -344,6 +334,7 @@ class RuleSet(models.Model): 'admin_logentry', 'contenttypes_contenttype', # Models which currently do not require permissions + 'common_attachment', 'common_colortheme', 'common_customunit', 'common_inventreesetting', diff --git a/src/frontend/src/defaults/formatters.tsx b/src/frontend/src/defaults/formatters.tsx index 892aa9e663..8a4c6acc21 100644 --- a/src/frontend/src/defaults/formatters.tsx +++ b/src/frontend/src/defaults/formatters.tsx @@ -117,7 +117,23 @@ export function formatPriceRange( )}`; } -interface RenderDateOptionsInterface { +/* + * Format a file size (in bytes) into a human-readable format + */ +export function formatFileSize(size: number) { + const suffixes: string[] = ['B', 'KB', 'MB', 'GB']; + + let idx = 0; + + while (size > 1024 && idx < suffixes.length) { + size /= 1024; + idx++; + } + + return `${size.toFixed(2)} ${suffixes[idx]}`; +} + +interface FormatDateOptionsInterface { showTime?: boolean; showSeconds?: boolean; } @@ -128,9 +144,9 @@ interface RenderDateOptionsInterface { * The provided "date" variable is a string, nominally ISO format e.g. 2022-02-22 * The user-configured setting DATE_DISPLAY_FORMAT determines how the date should be displayed. */ -export function renderDate( +export function formatDate( date: string, - options: RenderDateOptionsInterface = {} + options: FormatDateOptionsInterface = {} ) { if (!date) { return '-'; diff --git a/src/frontend/src/enums/ApiEndpoints.tsx b/src/frontend/src/enums/ApiEndpoints.tsx index 962da26c49..2775fa1845 100644 --- a/src/frontend/src/enums/ApiEndpoints.tsx +++ b/src/frontend/src/enums/ApiEndpoints.tsx @@ -57,7 +57,6 @@ export enum ApiEndpoints { build_output_complete = 'build/:id/complete/', build_output_scrap = 'build/:id/scrap-outputs/', build_output_delete = 'build/:id/delete-outputs/', - build_order_attachment_list = 'build/attachment/', build_line_list = 'build/line/', bom_list = 'bom/', @@ -76,18 +75,15 @@ export enum ApiEndpoints { category_tree = 'part/category/tree/', category_parameter_list = 'part/category/parameters/', related_part_list = 'part/related/', - part_attachment_list = 'part/attachment/', part_test_template_list = 'part/test-template/', // Company API endpoints company_list = 'company/', contact_list = 'company/contact/', address_list = 'company/address/', - company_attachment_list = 'company/attachment/', supplier_part_list = 'company/part/', supplier_part_pricing_list = 'company/price-break/', manufacturer_part_list = 'company/part/manufacturer/', - manufacturer_part_attachment_list = 'company/part/manufacturer/attachment/', manufacturer_part_parameter_list = 'company/part/manufacturer/parameter/', // Stock API endpoints @@ -96,7 +92,6 @@ export enum ApiEndpoints { stock_location_list = 'stock/location/', stock_location_type_list = 'stock/location-type/', stock_location_tree = 'stock/location/tree/', - stock_attachment_list = 'stock/attachment/', stock_test_result_list = 'stock/test/', stock_transfer = 'stock/transfer/', stock_remove = 'stock/remove/', @@ -115,16 +110,13 @@ export enum ApiEndpoints { // Order API endpoints purchase_order_list = 'order/po/', purchase_order_line_list = 'order/po-line/', - purchase_order_attachment_list = 'order/po/attachment/', purchase_order_receive = 'order/po/:id/receive/', sales_order_list = 'order/so/', sales_order_line_list = 'order/so-line/', - sales_order_attachment_list = 'order/so/attachment/', sales_order_shipment_list = 'order/so/shipment/', return_order_list = 'order/ro/', - return_order_attachment_list = 'order/ro/attachment/', // Template API endpoints label_list = 'label/template/', @@ -155,6 +147,7 @@ export enum ApiEndpoints { machine_setting_detail = 'machine/:machine/settings/:config_type/', // Miscellaneous API endpoints + attachment_list = 'attachment/', error_report_list = 'error-report/', project_code_list = 'project-code/', custom_unit_list = 'units/', diff --git a/src/frontend/src/pages/Index/Playground.tsx b/src/frontend/src/pages/Index/Playground.tsx index ec8e0ba7f8..8ce44f54f8 100644 --- a/src/frontend/src/pages/Index/Playground.tsx +++ b/src/frontend/src/pages/Index/Playground.tsx @@ -56,20 +56,6 @@ function ApiFormsPlayground() { fields: editPartFields }); - const newAttachment = useCreateApiFormModal({ - url: ApiEndpoints.part_attachment_list, - title: 'Create Attachment', - fields: { - part: {}, - attachment: {}, - comment: {} - }, - initialData: { - part: 1 - }, - successMessage: 'Attachment uploaded' - }); - const [active, setActive] = useState(true); const [name, setName] = useState('Hello'); @@ -130,9 +116,6 @@ function ApiFormsPlayground() { {editCategory.modal} - - {newAttachment.modal} - {createPartModal}
diff --git a/src/frontend/src/pages/build/BuildDetail.tsx b/src/frontend/src/pages/build/BuildDetail.tsx index a6b5474fcd..ec49228af8 100644 --- a/src/frontend/src/pages/build/BuildDetail.tsx +++ b/src/frontend/src/pages/build/BuildDetail.tsx @@ -295,11 +295,7 @@ export default function BuildDetail() { label: t`Attachments`, icon: , content: ( - + ) }, { diff --git a/src/frontend/src/pages/company/CompanyDetail.tsx b/src/frontend/src/pages/company/CompanyDetail.tsx index 517eda346c..d8102cecfb 100644 --- a/src/frontend/src/pages/company/CompanyDetail.tsx +++ b/src/frontend/src/pages/company/CompanyDetail.tsx @@ -256,9 +256,8 @@ export default function CompanyDetail(props: Readonly) { icon: , content: ( ) }, diff --git a/src/frontend/src/pages/company/ManufacturerPartDetail.tsx b/src/frontend/src/pages/company/ManufacturerPartDetail.tsx index 8865d98b7a..7a145ad9b7 100644 --- a/src/frontend/src/pages/company/ManufacturerPartDetail.tsx +++ b/src/frontend/src/pages/company/ManufacturerPartDetail.tsx @@ -173,9 +173,8 @@ export default function ManufacturerPartDetail() { icon: , content: ( ) } diff --git a/src/frontend/src/pages/part/PartDetail.tsx b/src/frontend/src/pages/part/PartDetail.tsx index 08b330bde8..1b05a323d4 100644 --- a/src/frontend/src/pages/part/PartDetail.tsx +++ b/src/frontend/src/pages/part/PartDetail.tsx @@ -618,11 +618,7 @@ export default function PartDetail() { label: t`Attachments`, icon: , content: ( - + ) }, { diff --git a/src/frontend/src/pages/part/pricing/PricingOverviewPanel.tsx b/src/frontend/src/pages/part/pricing/PricingOverviewPanel.tsx index 3d3c5b571b..2f87f91855 100644 --- a/src/frontend/src/pages/part/pricing/PricingOverviewPanel.tsx +++ b/src/frontend/src/pages/part/pricing/PricingOverviewPanel.tsx @@ -22,7 +22,7 @@ import { DataTable } from 'mantine-datatable'; import { ReactNode, useMemo } from 'react'; import { tooltipFormatter } from '../../../components/charts/tooltipFormatter'; -import { formatCurrency, renderDate } from '../../../defaults/formatters'; +import { formatCurrency, formatDate } from '../../../defaults/formatters'; import { panelOptions } from '../PartPricingPanel'; interface PricingOverviewEntry { @@ -173,7 +173,7 @@ export default function PricingOverviewPanel({ {pricing?.updated && ( - {renderDate(pricing.updated)} + {formatDate(pricing.updated)} )} diff --git a/src/frontend/src/pages/part/pricing/PurchaseHistoryPanel.tsx b/src/frontend/src/pages/part/pricing/PurchaseHistoryPanel.tsx index 8f1550b340..1c4a4880eb 100644 --- a/src/frontend/src/pages/part/pricing/PurchaseHistoryPanel.tsx +++ b/src/frontend/src/pages/part/pricing/PurchaseHistoryPanel.tsx @@ -3,7 +3,7 @@ import { BarChart } from '@mantine/charts'; import { Group, SimpleGrid, Text } from '@mantine/core'; import { ReactNode, useCallback, useMemo } from 'react'; -import { formatCurrency, renderDate } from '../../../defaults/formatters'; +import { formatCurrency, formatDate } from '../../../defaults/formatters'; import { ApiEndpoints } from '../../../enums/ApiEndpoints'; import { useTable } from '../../../hooks/UseTable'; import { apiUrl } from '../../../states/ApiState'; @@ -40,7 +40,7 @@ export default function PurchaseHistoryPanel({ title: t`Date`, sortable: true, switchable: true, - render: (record: any) => renderDate(record.order_detail.complete_date) + render: (record: any) => formatDate(record.order_detail.complete_date) }, { accessor: 'purchase_price', diff --git a/src/frontend/src/pages/purchasing/PurchaseOrderDetail.tsx b/src/frontend/src/pages/purchasing/PurchaseOrderDetail.tsx index d01654cdf3..fe79915276 100644 --- a/src/frontend/src/pages/purchasing/PurchaseOrderDetail.tsx +++ b/src/frontend/src/pages/purchasing/PurchaseOrderDetail.tsx @@ -279,9 +279,8 @@ export default function PurchaseOrderDetail() { icon: , content: ( ) }, diff --git a/src/frontend/src/pages/sales/ReturnOrderDetail.tsx b/src/frontend/src/pages/sales/ReturnOrderDetail.tsx index 9dfc84e699..4d62470f1a 100644 --- a/src/frontend/src/pages/sales/ReturnOrderDetail.tsx +++ b/src/frontend/src/pages/sales/ReturnOrderDetail.tsx @@ -230,9 +230,8 @@ export default function ReturnOrderDetail() { icon: , content: ( ) }, diff --git a/src/frontend/src/pages/sales/SalesOrderDetail.tsx b/src/frontend/src/pages/sales/SalesOrderDetail.tsx index d342dc5e60..12b31bb9e6 100644 --- a/src/frontend/src/pages/sales/SalesOrderDetail.tsx +++ b/src/frontend/src/pages/sales/SalesOrderDetail.tsx @@ -280,9 +280,8 @@ export default function SalesOrderDetail() { icon: , content: ( ) }, diff --git a/src/frontend/src/pages/stock/StockDetail.tsx b/src/frontend/src/pages/stock/StockDetail.tsx index a2981bd295..14face5201 100644 --- a/src/frontend/src/pages/stock/StockDetail.tsx +++ b/src/frontend/src/pages/stock/StockDetail.tsx @@ -329,9 +329,8 @@ export default function StockDetail() { icon: , content: ( ) }, diff --git a/src/frontend/src/states/UserState.tsx b/src/frontend/src/states/UserState.tsx index 0292dfc106..ededb4ca4b 100644 --- a/src/frontend/src/states/UserState.tsx +++ b/src/frontend/src/states/UserState.tsx @@ -2,6 +2,7 @@ import { create } from 'zustand'; import { api, setApiDefaults } from '../App'; import { ApiEndpoints } from '../enums/ApiEndpoints'; +import { ModelType } from '../enums/ModelType'; import { UserPermissions, UserRoles } from '../enums/Roles'; import { clearCsrfCookie } from '../functions/auth'; import { apiUrl } from './ApiState'; @@ -22,6 +23,14 @@ interface UserStateProps { hasChangeRole: (role: UserRoles) => boolean; hasAddRole: (role: UserRoles) => boolean; hasViewRole: (role: UserRoles) => boolean; + checkUserPermission: ( + model: ModelType, + permission: UserPermissions + ) => boolean; + hasDeletePermission: (model: ModelType) => boolean; + hasChangePermission: (model: ModelType) => boolean; + hasAddPermission: (model: ModelType) => boolean; + hasViewPermission: (model: ModelType) => boolean; isLoggedIn: () => boolean; isStaff: () => boolean; isSuperuser: () => boolean; @@ -113,6 +122,7 @@ export const useUserState = create((set, get) => ({ // Update user with role data if (user) { user.roles = response.data?.roles ?? {}; + user.permissions = response.data?.permissions ?? {}; user.is_staff = response.data?.is_staff ?? false; user.is_superuser = response.data?.is_superuser ?? false; set({ user: user }); @@ -126,21 +136,6 @@ export const useUserState = create((set, get) => ({ get().clearUserState(); }); }, - checkUserRole: (role: UserRoles, permission: UserPermissions) => { - // Check if the user has the specified permission for the specified role - const user: UserProps = get().user as UserProps; - - if (!user) { - return false; - } - - if (user?.is_superuser) return true; - if (user?.roles === undefined) return false; - if (user?.roles[role] === undefined) return false; - if (user?.roles[role] === null) return false; - - return user?.roles[role]?.includes(permission) ?? false; - }, isLoggedIn: () => { if (!get().token) { return false; @@ -156,6 +151,21 @@ export const useUserState = create((set, get) => ({ const user: UserProps = get().user as UserProps; return user?.is_superuser ?? false; }, + checkUserRole: (role: UserRoles, permission: UserPermissions) => { + // Check if the user has the specified permission for the specified role + const user: UserProps = get().user as UserProps; + + if (!user) { + return false; + } + + if (user?.is_superuser) return true; + if (user?.roles === undefined) return false; + if (user?.roles[role] === undefined) return false; + if (user?.roles[role] === null) return false; + + return user?.roles[role]?.includes(permission) ?? false; + }, hasDeleteRole: (role: UserRoles) => { return get().checkUserRole(role, UserPermissions.delete); }, @@ -167,5 +177,33 @@ export const useUserState = create((set, get) => ({ }, hasViewRole: (role: UserRoles) => { return get().checkUserRole(role, UserPermissions.view); + }, + checkUserPermission: (model: ModelType, permission: UserPermissions) => { + // Check if the user has the specified permission for the specified model + const user: UserProps = get().user as UserProps; + + if (!user) { + return false; + } + + if (user?.is_superuser) return true; + + if (user?.permissions === undefined) return false; + if (user?.permissions[model] === undefined) return false; + if (user?.permissions[model] === null) return false; + + return user?.permissions[model]?.includes(permission) ?? false; + }, + hasDeletePermission: (model: ModelType) => { + return get().checkUserPermission(model, UserPermissions.delete); + }, + hasChangePermission: (model: ModelType) => { + return get().checkUserPermission(model, UserPermissions.change); + }, + hasAddPermission: (model: ModelType) => { + return get().checkUserPermission(model, UserPermissions.add); + }, + hasViewPermission: (model: ModelType) => { + return get().checkUserPermission(model, UserPermissions.view); } })); diff --git a/src/frontend/src/states/states.tsx b/src/frontend/src/states/states.tsx index 03e461d5a1..3cf2a94fff 100644 --- a/src/frontend/src/states/states.tsx +++ b/src/frontend/src/states/states.tsx @@ -23,6 +23,7 @@ export interface UserProps { is_staff?: boolean; is_superuser?: boolean; roles?: Record; + permissions?: Record; } // Type interface fully defining the current server diff --git a/src/frontend/src/tables/ColumnRenderers.tsx b/src/frontend/src/tables/ColumnRenderers.tsx index b3076954c8..342335a9d1 100644 --- a/src/frontend/src/tables/ColumnRenderers.tsx +++ b/src/frontend/src/tables/ColumnRenderers.tsx @@ -9,7 +9,7 @@ import { Thumbnail } from '../components/images/Thumbnail'; import { ProgressBar } from '../components/items/ProgressBar'; import { TableStatusRenderer } from '../components/render/StatusRenderer'; import { RenderOwner } from '../components/render/User'; -import { formatCurrency, renderDate } from '../defaults/formatters'; +import { formatCurrency, formatDate } from '../defaults/formatters'; import { ModelType } from '../enums/ModelType'; import { resolveItem } from '../functions/conversion'; import { cancelEvent } from '../functions/events'; @@ -180,7 +180,7 @@ export function DateColumn(props: TableColumnProps): TableColumn { title: t`Date`, switchable: true, render: (record: any) => - renderDate(resolveItem(record, props.accessor ?? 'date')), + formatDate(resolveItem(record, props.accessor ?? 'date')), ...props }; } diff --git a/src/frontend/src/tables/general/AttachmentTable.tsx b/src/frontend/src/tables/general/AttachmentTable.tsx index 330e75fb26..d30ede40d0 100644 --- a/src/frontend/src/tables/general/AttachmentTable.tsx +++ b/src/frontend/src/tables/general/AttachmentTable.tsx @@ -14,7 +14,9 @@ import { api } from '../../App'; import { ActionButton } from '../../components/buttons/ActionButton'; import { ApiFormFieldSet } from '../../components/forms/fields/ApiFormField'; import { AttachmentLink } from '../../components/items/AttachmentLink'; +import { formatFileSize } from '../../defaults/formatters'; import { ApiEndpoints } from '../../enums/ApiEndpoints'; +import { ModelType } from '../../enums/ModelType'; import { useCreateApiFormModal, useDeleteApiFormModal, @@ -22,7 +24,9 @@ import { } from '../../hooks/UseForm'; import { useTable } from '../../hooks/UseTable'; import { apiUrl } from '../../states/ApiState'; +import { useUserState } from '../../states/UserState'; import { TableColumn } from '../Column'; +import { TableFilter } from '../Filter'; import { InvenTreeTable } from '../InvenTreeTable'; import { RowAction, RowDeleteAction, RowEditAction } from '../RowActions'; @@ -36,7 +40,7 @@ function attachmentTableColumns(): TableColumn[] { sortable: false, switchable: false, noWrap: true, - render: function (record: any) { + render: (record: any) => { if (record.attachment) { return ; } else if (record.link) { @@ -50,7 +54,7 @@ function attachmentTableColumns(): TableColumn[] { accessor: 'comment', sortable: false, - render: function (record: any) { + render: (record: any) => { return record.comment; } }, @@ -58,7 +62,7 @@ function attachmentTableColumns(): TableColumn[] { accessor: 'upload_date', sortable: true, - render: function (record: any) { + render: (record: any) => { return ( {record.upload_date} @@ -68,6 +72,18 @@ function attachmentTableColumns(): TableColumn[] { ); } + }, + { + accessor: 'file_size', + sortable: true, + switchable: true, + render: (record: any) => { + if (!record.attachment) { + return '-'; + } else { + return formatFileSize(record.file_size); + } + } } ]; } @@ -76,50 +92,34 @@ function attachmentTableColumns(): TableColumn[] { * Construct a table for displaying uploaded attachments */ export function AttachmentTable({ - endpoint, - model, - pk + model_type, + model_id }: { - endpoint: ApiEndpoints; - pk: number; - model: string; + model_type: ModelType; + model_id: number; }): ReactNode { - const table = useTable(`${model}-attachments`); + const user = useUserState(); + const table = useTable(`${model_type}-attachments`); const tableColumns = useMemo(() => attachmentTableColumns(), []); - const [allowEdit, setAllowEdit] = useState(false); - const [allowDelete, setAllowDelete] = useState(false); + const url = apiUrl(ApiEndpoints.attachment_list); - const url = useMemo(() => apiUrl(endpoint), [endpoint]); - - const validPk = useMemo(() => pk > 0, [pk]); - - // Determine which permissions are available for this URL - useEffect(() => { - api - .options(url) - .then((response) => { - let actions: any = response.data?.actions ?? {}; - - setAllowEdit('POST' in actions); - setAllowDelete('DELETE' in actions); - - return response; - }) - .catch((error) => { - return error; - }); - }, [url]); + const validPk = useMemo(() => model_id > 0, [model_id]); const [isUploading, setIsUploading] = useState(false); + const allowDragAndDrop: boolean = useMemo(() => { + return user.hasAddPermission(model_type); + }, [user, model_type]); + // Callback to upload file attachment(s) function uploadFiles(files: File[]) { files.forEach((file) => { let formData = new FormData(); formData.append('attachment', file); - formData.append(model, pk.toString()); + formData.append('model_type', model_type); + formData.append('model_id', model_id.toString()); setIsUploading(true); @@ -161,8 +161,12 @@ export function AttachmentTable({ const uploadFields: ApiFormFieldSet = useMemo(() => { let fields: ApiFormFieldSet = { - [model]: { - value: pk, + model_type: { + value: model_type, + hidden: true + }, + model_id: { + value: model_id, hidden: true }, attachment: {}, @@ -180,10 +184,10 @@ export function AttachmentTable({ } return fields; - }, [endpoint, model, pk, attachmentType, selectedAttachment]); + }, [model_type, model_id, attachmentType, selectedAttachment]); const uploadAttachment = useCreateApiFormModal({ - url: endpoint, + url: url, title: t`Upload Attachment`, fields: uploadFields, onFormSuccess: () => { @@ -192,7 +196,7 @@ export function AttachmentTable({ }); const editAttachment = useEditApiFormModal({ - url: endpoint, + url: url, pk: selectedAttachment, title: t`Edit Attachment`, fields: uploadFields, @@ -206,7 +210,7 @@ export function AttachmentTable({ }); const deleteAttachment = useDeleteApiFormModal({ - url: endpoint, + url: url, pk: selectedAttachment, title: t`Delete Attachment`, onFormSuccess: () => { @@ -214,12 +218,27 @@ export function AttachmentTable({ } }); + const tableFilters: TableFilter[] = useMemo(() => { + return [ + { + name: 'is_link', + label: t`Is Link`, + description: t`Show link attachments` + }, + { + name: 'is_file', + label: t`Is File`, + description: t`Show file attachments` + } + ]; + }, []); + const tableActions: ReactNode[] = useMemo(() => { return [